CSS 布局实例系列(二)如何通过 CSS 实现一个左边固定宽度、右边自适应的两列布局
2017-01-20 15:20
1036 查看
用两种不同的方法来实现一个两列布局,其中左侧部分宽度固定、右侧部分宽度随浏览器宽度的变化而自适应变化
通过绝对定位实现
See the Pen absolute-two-column by xal821792703 (@honoka)
on CodePen.
注意点如下:
需要套一个“positioned”的父元素
div-a 绝对定位,并将位置调整为浏览器左上角
div-b margin-left 属性值为 div-a 的宽度(因为 div-a 绝对定位已经脱离文档流,故不设定为 div-a 宽度的话,会相互覆盖)
div-c 绝对定位并将位置调整为正下方
需要自适应的 div 均设定宽度为100%
2. 通过浮动实现
See the Pen float-two-column by xal821792703 (@honoka)
on CodePen.
注意点如下:
div-a 设定为左浮动
div-b 与上面一样需要将 margin-left 属性值设为 div-a 的宽度,原因同上,浮动也会脱离文档流
div-c 最好清除浮动,避免浮动的影响
3. 通过 BFC 规则实现
See the Pen bfc-two-column by xal821792703 (@honoka)
on CodePen.
此处便不花大量篇幅介绍 BFC 了,可以参见下面两篇博文:
深入理解BFC和Margin
Collapse
CSS之BFC详解
简而言之,BFC 可以帮助我们解决布局中左边元素脱离文档流后,右边元素的左外边距会触碰到包含块容器的左外边框的问题,就像下图:
现在我们仅需注意将 div-b 设定为 BFC 元素即可。
通过绝对定位实现
See the Pen absolute-two-column by xal821792703 (@honoka)
on CodePen.
注意点如下:
需要套一个“positioned”的父元素
div-a 绝对定位,并将位置调整为浏览器左上角
div-b margin-left 属性值为 div-a 的宽度(因为 div-a 绝对定位已经脱离文档流,故不设定为 div-a 宽度的话,会相互覆盖)
div-c 绝对定位并将位置调整为正下方
需要自适应的 div 均设定宽度为100%
2. 通过浮动实现
See the Pen float-two-column by xal821792703 (@honoka)
on CodePen.
注意点如下:
div-a 设定为左浮动
div-b 与上面一样需要将 margin-left 属性值设为 div-a 的宽度,原因同上,浮动也会脱离文档流
div-c 最好清除浮动,避免浮动的影响
3. 通过 BFC 规则实现
See the Pen bfc-two-column by xal821792703 (@honoka)
on CodePen.
此处便不花大量篇幅介绍 BFC 了,可以参见下面两篇博文:
深入理解BFC和Margin
Collapse
CSS之BFC详解
简而言之,BFC 可以帮助我们解决布局中左边元素脱离文档流后,右边元素的左外边距会触碰到包含块容器的左外边框的问题,就像下图:
现在我们仅需注意将 div-b 设定为 BFC 元素即可。
相关文章推荐
- CSS 布局实例系列(二)如何通过 CSS 实现一个左边固定宽度、右边自适应的两列布局
- 通过 CSS 实现一个左边固定宽度、右边自适应的两列布局
- CSS 布局实例系列(三)如何实现一个左右宽度固定,中间自适应的三列布局——也聊聊双飞翼
- 总结几种实现右边宽度固定,左边宽度自适应的css布局
- 实现左边宽度固定,右边宽度自适应的两列布局
- css实现左边定宽右边自适应的两列布局5种方法
- 利用绝对定位实现两列右边固定宽度左边自适应布局
- CSS 布局实例系列(四)如何实现容器中每一行的子容器数量随着浏览器宽度的变化而变化?
- css 两栏自适应布局--左边固定宽度 右边自适应
- [CSS布局]3列布局:左右两列固定宽度、中间列自适应满宽
- 实现一个左边宽度固定,右边自适应
- css实现左边div自适应宽度,右边宽度适应左边
- 如何用纯CSS布局两列,一列固定宽度,另一列自适应?
- 实现一个div,左边固定div宽度200px,右边div自适应
- 两列布局,左边div固定宽度,右边宽度自适应
- 左边DIV固定宽度,右边的DIV如何自适应填满剩下的屏幕宽度
- 实现左边固定宽度右边自适应布局
- 右边固定宽度左边自适应宽度的两列布局方法
- css布局:左边固定宽度,右边自适应宽度或右侧固定,左侧自适应三种方法
- CSS如何实现”右部宽度固定,左部自适应“的布局