资讯专栏INFORMATION COLUMN

CSS || 三栏布局,两边固定,中间自适应

pcChao / 3289人阅读

摘要:实现基于纯实现的三栏布局需要将中间的内容放在结构的最后,否则右侧会沉在中间内容的下侧原理元素浮动后,脱离文档流,后面的元素受浮动影响,设置受影响元素的值即可两边固定宽度,中间宽度自适应。

1 float实现

基于纯float实现的三栏布局需要将中间的内容放在HTML结构的最后,否则右侧会沉在中间内容的下侧

原理:元素浮动后,脱离文档流,后面的元素受浮动影响,设置受影响元素的margin值即可

两边固定宽度,中间宽度自适应。

利用中间元素的margin值控制两边的间距

宽度小于左右部分宽度之和时,右侧部分会被挤下去

左侧
右侧
中间

2 position实现

基于绝对定位的三栏布局:注意绝对定位的元素脱离文档流,相对于最近的已经定位的祖先元素进行定位。无需考虑HTML中结构的顺序

缺点:有顶部对齐问题,需要进行调整,注意中间的高度为整个内容的高度

左侧
中间
右侧

3 floatBFC配合圣杯布局

必须将中间部分的HTML结构写在最前面,三个元素均设置向左浮动。两侧元素宽度固定,中间设置为100%;然后利用左侧元素负的margin值进行偏移,覆盖在中间的宽度之上;右侧的元素同样利用负的margin值进行覆盖

存在的问题:不能自适应高度

中间
左侧
右侧

4 flex布局

flexbox布局最简洁使用,并且没有明显缺陷。

仅需将容器设置为display:flex;,盒内元素两端对其,将中间元素设置为100%宽度即可填充空白,再利用margin值设置边距即可

并且盒内元素的高度撑开容器的高度

左侧
中间
右侧

5 总结

float的三栏布局需要将中间的内容放在最后;

绝对定位的三栏布局:元素对其有点问题

圣杯布局:容器内不能撑开高度

flex布局最好,基本没有大的缺点。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/111744.html

相关文章

  • 常见的面试问题:【CSS】已知高度,写出三栏布局

    摘要:问题已知高度,写出三栏布局,其中左右两栏宽度各位,中间自适应回答效果示例解决方案浮动绝对定位弹性布局表格布局网格布局。方案二绝对定位将和的都设置脱离文档流,给的设置左右两边距离即左右两边盒子的实际宽度。 问题: 已知高度,写出三栏布局,其中左右两栏宽度各位200px,中间自适应showImg(https://segmentfault.com/img/bVbu6r1?w=300&h=1...

    MobService 评论0 收藏0
  • CSS 布局经典问题初步整理

    摘要:布局经典问题初步整理标签前端本文主要对布局中常见的经典问题进行简单说明,并提供相关解决方案的参考链接,涉及到三栏式布局,负,清除浮动,居中布局,响应式设计,布局,等等。 CSS 布局经典问题初步整理 标签 : 前端 [TOC] 本文主要对 CSS 布局中常见的经典问题进行简单说明,并提供相关解决方案的参考链接,涉及到三栏式布局,负 margin,清除浮动,居中布局,响应式设计,Fl...

    Amos 评论0 收藏0
  • 圣杯布局和双飞翼布局

    摘要:比起双飞翼布局,它的起源不是源于对页面的形象表达。一起来看看这两种布局的区别在哪一双飞翼布局可以看到,我们在里面又加了一个内容层。 稍微了解前端的人都知道,圣杯布局和双飞翼布局是前端面试时必问的问题,因为它既能体现你懂HTML结构又能体现出你对DIV+CSS布局的掌握,毕竟我们学习CSS主要就是为了更好地布局带来最好的用户体验嘛~ 事实上,圣杯布局其实和双飞翼布局是一回事。它们实现的都...

    Clect 评论0 收藏0
  • 圣杯布局和双飞翼布局

    摘要:比起双飞翼布局,它的起源不是源于对页面的形象表达。一起来看看这两种布局的区别在哪一双飞翼布局可以看到,我们在里面又加了一个内容层。 稍微了解前端的人都知道,圣杯布局和双飞翼布局是前端面试时必问的问题,因为它既能体现你懂HTML结构又能体现出你对DIV+CSS布局的掌握,毕竟我们学习CSS主要就是为了更好地布局带来最好的用户体验嘛~ 事实上,圣杯布局其实和双飞翼布局是一回事。它们实现的都...

    468122151 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<