搜索
首页web前端html教程常见的几种布局总结_html/css_WEB-ITnose

目录

    1. 一列定宽,一列自适应屏幕宽
      1. 方法二:position+margin
      2. 方法三:float+负margin
    1. 左右两栏宽度固定,中间宽度自适应
    2. 左右两栏宽度自适应,中间宽度固定
      1. 方法一 中间定宽,借助负margin值

本文主要介绍网页中常用的三栏布局的实现方法。

本文主要参考了下面的文章:

我熟知的三种三栏网页宽度自适应布局方法 -张鑫旭

两栏布局,三栏布局,等高布局,流式布局 -小七

CSS布局——左定宽度右自适应宽度并且等高布局 -w3cplus

八种创建等高列布局

两栏布局

一列定宽,一列自适应屏幕宽

要实现的目标是: 左侧固定宽,右侧自适应屏幕宽。

方法一:float+margin

思路:左边浮动,右边加上一个margin-left值,即可实现左边固定,右边自适应布局。

HTML和CSS如下:

两栏布局方法一

  • html
  • css

<div id="left"></div><div id="content"></div>

点击这里查看Demo

方法二:position+margin

思路:左边绝对定位,右栏使用margin-left实现。

HTML和CSS如下:

两栏布局方法二

  • html
  • css

<div id="left">左边内容</div><div id="content">主要内容</div>

点击这里查看Demo

方法三:float+负margin

思路:利用浮动和负边距实现。

HTML和CSS如下:

两栏布局方法三

  • html
  • css

<div id="left">左边内容</div><div id="content">  <div id="contentInner">主要内容</div></div>

点击这里查看Demo

两列固定宽度

边栏在左,主内容在右

HTML和CSS如下:

两栏左右宽度固定布局

  • html
  • css

<div class="wraper">  <div class="header">     <h1 id="这是头部文字">这是头部文字</h1>  </div>  <div class="aside sidebar">     <h2 id="这是侧边栏">这是侧边栏</h2>  </div>  <div class="main-content">     <h2 id="主要内容">主要内容</h2>  </div>  <div class="footer">     <h2 id="这是底部内容">这是底部内容</h2>  </div></div>

点击这里查看Demo

边栏在右,主内容在左

可以保持上面代码中的HTML结构不变,仅仅可以CSS中侧边栏的浮动方式即可:

两栏左右宽度固定布局2

  • html
  • css

<div class="wraper">  <div class="header">     <h1 id="这是头部文字">这是头部文字</h1>  </div>  <div class="aside sidebar">     <h2 id="这是侧边栏">这是侧边栏</h2>  </div>  <div class="main-content">     <h2 id="主要内容">主要内容</h2>  </div>  <div class="footer">     <h2 id="这是底部内容">这是底部内容</h2>  </div></div>

点击这里查看Demo

其他实现两列固定宽度布局的方式:

http://www.w3cplus.com/css/layout/fixed-layout/two-columns-2.html

http://www.w3cplus.com/css/layout/fixed-layout/two-columns-3.html

三栏布局

要实现的目标是:左中右三栏布局,左右两栏宽度固定(设为200px),中间宽度自适应。

左右两栏宽度固定,中间宽度自适应

方法一:绝对定位法

思路:左右两栏采用绝对定位,分别固定于页面的左右两侧,中间的主体栏用margin值撑开距离。HTML和CSS如下:

三栏布局之绝对定位

  • html
  • css

<div id="left"></div><div id="main">    <div class="box">中间内容</div></div><div id="right"></div>

点击这里查看Demo

这种方法的缺点在于:如果中间栏含有宽度的内部元素(box),当浏览器的宽度小于一定程度时,左右两侧的固定栏和中间的box发生层叠。

方法二:margin负值法

思路:首先,中间的主体是使用双层标签,外层div宽度100%显示,并且浮动。内层的div为真正的主体内容,含有左右200px的margin值。左栏和右栏都是用margin负值法,左栏左浮动,margin-left为-100%,使左栏的div定位到页面左侧;右栏也是左浮动,其margin-left值负值,大小是本身的宽度200px。

HTML和CSS如下:

三栏布局之margin负值法

  • html
  • css

<div id="main">    <div id="content">中间内容</div></div><div id="right"></div><div id="left"></div>

点击这里查看Demo

这种方法需要注意的是几个div的顺序, 先是主体部分div,然后再是左右两栏的div。同样存在方法一的不足,当中间栏含有一定宽度的内部块元素时,缩小浏览器窗口左右栏内容和中间块元素重叠。

方法三:自身浮动法

应用了标签浮动跟随特性,左栏左浮动,右栏右浮动,主体放在后面,可以实现自适应。

这里几个div的顺序关键是主体的div放在后面,左右两栏顺序任意。

HTML和CSS如下:

三栏布局之自身浮动法

  • html
  • css

<div id="right"></div><div id="left"></div><div id="main"></div>

点击这里查看Demo

这个方法的优点是简洁高效,缺点也很明显,中间栏要避免 clear: both

双飞翼布局

使用浮动,负边距,和相对定位来实现。优点:

  • 实现内容和布局的分离
  • mian部分是自适应宽度的,任何一栏都可以是最高一栏
  • 需要的hack少,在浏览器中兼容性好

缺点:main需要额外的包装层

HTML和CSS如下:

双飞翼布局

  • html
  • css

<div id="page">  <div id="head">head</div>  <div id="body">    <div class="main">      <div class="main-content">Main-content</div>    </div>    <div class="Sub">sub</div>    <div class="Extra">Extra</div>  </div>  <div id="foot">Foot</div></div>

先把最重要的main放到前面,并将main占满100%,然后是sub, extra。将三者都采用浮动布局: float:left,利用margin-left: -100%,把sub拉倒最左边,同理用margin-left: -180px将extra放到右侧。这样将sub 和extra定位到正确的位置。然后定位main:给main增加一层包裹,里层的main-content的作用目标是定位main到合适的位置,为此,引入margin。

点击这里查看Demo

圣杯布局

圣杯布局和双飞翼布局都是实现两边顶宽,中间自适应的三栏布局,中间栏放在文档流前面优先渲染。两者不同之处在于”中间栏div的内容不被遮挡的实现思路”:

  • 双飞翼布局如上介绍,是在main的内部又创建div来放置内容,在该div里设置margin-left和margin-right为左右两栏div留出位置。
  • 圣杯布局的实现思路是将div设置padding-left和padding-right后,将左右两个div用相对布局position:relative并配合right和left属性,以便左右两栏div移动后不被遮挡。

HTML和CSS如下:

圣杯布局

  • html
  • css

<div id="page">  <div id="header"> This is the Header</div>  <div id="container">    <div id="center" class="column" >Main content</div>    <div id="left" class="column" >left sidebar </div>    <div id="right" class="column" > right sidebar </div>  </div>  <div id="footer-wrapper">    <div id="footer">This is the footer </div>  </div></div>

点击这里查看Demo

左右两栏宽度自适应,中间宽度固定

方法一 中间定宽,借助负margin值

HTML和CSS如下:

三栏布局之中间固定

  • html
  • css

<div id="left">    <div class="inner"></div></div><div id="main">  <div class="inner"></div></div><div id="right">  <div class="inner"></div></div>

点击这里查看Demo

使用这种方法实现的效果不太理想,当浏览器窗口缩小的时候,左右两侧的内容就会被”挤掉”

方法二 使用flex

HTML和CSS如下:

三栏布局之中间固定

  • html
  • css

<div class="grid">  <div class="col fluid">左侧内容</div>  <div class="col fixed">中间</div>  <div class="col fluid">右侧内容</div></div>

点击这里查看Demo

清除浮动

用来解决父元素高度自适应高度最大的子元素。只需在浮动元素父元素添加伪类:

.container:after { content: ""; display: block; clear: both;}

未完待续。。。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
HTML:是编程语言还是其他?HTML:是编程语言还是其他?Apr 15, 2025 am 12:13 AM

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增强WebevebDevelopment。

HTML:建立网页的结构HTML:建立网页的结构Apr 14, 2025 am 12:14 AM

HTML是构建网页结构的基石。1.HTML定义内容结构和语义,使用、、等标签。2.提供语义化标记,如、、等,提升SEO效果。3.通过标签实现用户交互,需注意表单验证。4.使用、等高级元素结合JavaScript实现动态效果。5.常见错误包括标签未闭合和属性值未加引号,需使用验证工具。6.优化策略包括减少HTTP请求、压缩HTML、使用语义化标签等。

从文本到网站:HTML的力量从文本到网站:HTML的力量Apr 13, 2025 am 12:07 AM

HTML是一种用于构建网页的语言,通过标签和属性定义网页结构和内容。1)HTML通过标签组织文档结构,如、。2)浏览器解析HTML构建DOM并渲染网页。3)HTML5的新特性如、、增强了多媒体功能。4)常见错误包括标签未闭合和属性值未加引号。5)优化建议包括使用语义化标签和减少文件大小。

了解HTML,CSS和JavaScript:初学者指南了解HTML,CSS和JavaScript:初学者指南Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML的角色:构建Web内容HTML的角色:构建Web内容Apr 11, 2025 am 12:12 AM

HTML的作用是通过标签和属性定义网页的结构和内容。1.HTML通过到、等标签组织内容,使其易于阅读和理解。2.使用语义化标签如、等增强可访问性和SEO。3.优化HTML代码可以提高网页加载速度和用户体验。

HTML和代码:仔细观察术语HTML和代码:仔细观察术语Apr 10, 2025 am 09:28 AM

htmlisaspecifictypefodyfocusedonstructuringwebcontent,而“代码” badlyLyCludEslanguagesLikeLikejavascriptandPytyPythonForFunctionality.1)htmldefineswebpagertuctureduseTags.2)“代码”代码“ code” code code code codeSpassSesseseseseseseseAwiderRangeLangeLangeforLageforLogageforLogicIctInterract

HTML,CSS和JavaScript:Web开发人员的基本工具HTML,CSS和JavaScript:Web开发人员的基本工具Apr 09, 2025 am 12:12 AM

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

HTML,CSS和JavaScript的角色:核心职责HTML,CSS和JavaScript的角色:核心职责Apr 08, 2025 pm 07:05 PM

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具