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 阅读 9 次 更新于 2025-07-21 09:11:19 我来答关注问题0
  •  文暄生活科普 你有几种方式实现CSS三栏布局?

    实现三栏布局的方式有多种,如浮动布局、BFC布局、双飞翼布局、圣杯布局、Flex布局和定位布局。浮动布局利用浮动元素脱离文档流,实现三栏布局。此方法简单易懂,但可能导致父元素高度塌陷等问题。BFC布局通过形成闭包,避免与浮动元素发生重叠,解决高度塌陷问题,但依旧存在缺点。双飞翼布局利用浮动和负边距...

  •  翡希信息咨询 圣杯布局/双飞翼布局/flex/grid等,实现CSS三栏自适应布局的几种方法

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

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

  • 双栏布局: 定义:页面分为两栏,常见于文档结构,如目录和正文内容。 实现方式: 设定侧栏的宽度和浮动属性。 调整主内容栏的外边距以留出侧栏的空间。圣杯布局: 定义:三栏布局的一种,两边侧栏固定宽度,中间内容栏自适应。 实现方式: 使用浮动、负外边距和清除浮动技巧。 通过调整CS...

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

    bottom、left、right属性调整元素在页面上的位置,适用于需要精确控制元素位置的布局场景。综上所述,通过圣杯布局、双飞翼布局、flex布局及定位方式,我们能够实现左右宽度固定的三列式布局,满足网页设计中多样化的布局需求。尝试并结合这几种布局方式,探索更多可能,为网页设计增添更多创意与灵活性。

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

CSS相关话题

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