CSS有几种实现三栏布局的方法

所谓三栏布局就是指页面分为左中右三部分然后对中间一部分做自适应的一种布局方式。1.绝对定位法HTML代码如下:LeftMainRightCSS代码如下://简单的进行CSS resetbody,html{ height:100%; padding: 0px; margin:0px;}//左右绝对定位.left,.right{ position: absolute; top:0px; background: red;...
CSS有几种实现三栏布局的方法
这次给大家带来CSS有几种实现三栏布局的方法,CSS实现三栏布局的注意事项有哪些,下面就是实战案例,一起来看一下。前言其实不管是三栏布局还是两栏布局都是我们在平时项目里经常使用的,也许你不知道什么事三栏布局什么是两栏布局但实际已经在用,或许你知道三栏布局的一种或两种方法,但实际操作中也只会依赖那某一种方法,本文具体的介绍了三栏布局的四种方法,并介绍了它的使用场景。所谓三栏布局就是指页面分为左中右三部分然后对中间一部分做自适应的一种布局方式。1.绝对定位法HTML代码如下:<p class="left">Left</p><p class="main">Main</p><p class="right">Right</p>CSS代码如下://简单的进行CSS resetbody,html{ height:100%; padding: 0px; margin:0px;}//左右绝对定位.left,.right{ position: absolute; top:0px; background: red; height:100%;}.left{ left:0; width:100px;}.right{ right:0px; width:200px;}//中间使用margin空出左右元素所占据的空间.main{ margin:0px 200px 0px 100px; height:100%; background: blue;}该方法有个明显的缺点,就是如果中间栏含有最小宽度限制,或是含有宽度的内部元素,当浏览器宽度小到一定程度,会发生层重叠的情况。2. 圣杯布局HTML代码如下://注意元素次序<p class="main">Main</p><p class="left">Left</p><p class="right">Right</p>CSS代码如下://习惯性的CSS resetbody,html{ height:100%; padding: 0; margin: 0}//父元素body空出左右栏位body { padding-left: 100px; padding-right: 200px;}//左边元素更改.left { background: red; width: 100px; float: left; margin-left: -100%; position: relative; left: -100px; height: 100%;}//中间部分.main { background: blue; width: 100%; height: 100%; float: left;}//右边元素定义.right { background: red; width: 200px; height: 100%; float: left; margin-left: -200px; position: relative; right: -200px;}相关解释如下: (1)中间部分需要根据浏览器宽度的变化而变化,所以要用100%,这里设左中右向左浮动,因为中间100%,左层和右层根本没有位置上去 (2)把左层margin负100后,发现left上去了,因为负到出窗口没位置了,只能往上挪 (3)按第二步这个方法,可以得出它只要挪动窗口宽度那么宽就能到最左边了,利用负边距,把左右栏定位 (4)但由于左右栏遮挡住了中间部分,于是采用相对定位方法,各自相对于自己把自己挪出去,得到最终结果3. 双飞翼布局HTML代码如下:<p class="main"> <p class="inner"> Main </p></p><p class="left">Left</p><p class="right">Right</p>CSS代码如下://CSS resetbody,html { height:100%; padding: 0; margin: 0}body { /*padding-left:100px;*/ /*padding-right:200px;*/}.left { background: red; width: 100px; float: left; margin-left: -100%; height: 100%; /*position: relative;*/ /*left:-100px;*/}.main { background: blue; width: 100%; float: left; height: 100%;}.right { background: red; width: 200px; float: left; margin-left: -200px; height: 100%; /*position:relative;*/ /*right:-200px;*/}//新增inner元素.inner { margin-left: 100px; margin-right: 200px;}圣杯布局实际看起来是复杂的后期维护性也不是很高,在淘宝UED的探讨下,出来了一种新的布局方式就是双飞翼布局,代码如上。增加多一个p就可以不用相对布局了,只用到了浮动和负边距。和圣杯布局差异的地方已经被注释。4. 浮动HTML代码如下://注意元素次序<p class="left">Left</p><p class="right">Right</p><p class="main">Main</p>CSS代码如下://CSS resetbody,html { height:100%; padding: 0; margin: 0}//左栏左浮动.left { background: red; width: 100px; float: left; height: 100%;}//中间自适应.main { background: blue; height: 100%; margin:0px 200px 0px 100px;}//右栏右浮动.right { background: red; width: 200px; float: right; height: 100%;}这种方式代码足够简洁与高效,也容易理解总结相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!推荐阅读:用HTML+CSS实现下拉菜单用CSS3实现发光方格边框CSS做出鼠标上移图标旋转2023-07-27
mengvlog 阅读 558 次 更新于 2025-09-10 16:54:10 我来答关注问题0
  •  翡希信息咨询 圣杯布局/双飞翼布局/flex/grid等,实现CSS三栏自适应布局的几种方法

    实现CSS三栏自适应布局的方法主要有以下几种:圣杯布局:特点:先渲染中间内容,通过HTML结构调整和负margin实现左侧和右侧区域的定位。实现原理:中间栏设置marginleft和marginright,左右栏设置负margin和浮动,使其覆盖到中间栏的两侧。双飞翼布局:特点:改进了圣杯布局,中间区域无最小宽度限制,适合多种...

  •  文暄生活科普 圣杯布局/双飞翼布局/flex/grid等,实现CSS三栏自适应布局的几种方法

    在网页设计中,三栏布局是常见的布局方式,将内容分为左侧、中间和右侧,两侧固定宽度,中间自适应。要实现不同的自适应布局,有多种CSS方法可供选择,如flex, grid, 圣杯布局和双飞翼布局等。1. 直接设置宽度: 简单直接,保证元素宽度之和为100%,使用calc()处理像素和比例,配合浮动(float)实现左右...

  • 所谓三栏布局就是指页面分为左中右三部分然后对中间一部分做自适应的一种布局方式。1.绝对定位法HTML代码如下:LeftMainRightCSS代码如下://简单的进行CSS resetbody,html{ height:100%; padding: 0px; margin:0px;}//左右绝对定位.left,.right{ position: absolute; top:0px; background: red;...

  •  文暄生活科普 三栏式布局之左右固定,中间自适应

    综上所述,通过圣杯布局、双飞翼布局、flex布局及定位方式,我们能够实现左右宽度固定的三列式布局,满足网页设计中多样化的布局需求。尝试并结合这几种布局方式,探索更多可能,为网页设计增添更多创意与灵活性。

  •  亚浩科技 《web前端笔记30》css三栏布局、左右两栏宽度固定,中间自适应

    左右两栏宽度固定,中间自适应的布局 ,三栏布局的具体实现:利用浮动和负边距来实现。父级元素设置左右的 padding,三列均设置向左浮动,中间一列放在最前面,宽度设置为父级元素的宽度,因此后面两列都被挤到了下一行,通过设置 margin 负值将其移动到上一行,再利用相对定位,定位到两边。

檬味博客在线解答立即免费咨询

CSS相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部