BFC学习笔记
1.Block Formatting Contexts(格式化上下文)
它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。
2.触发 BFC
浮动元素:float 除 none 以外的值
绝对定位元素:position (absolute、fixed)
display 为 inline-block、table-cells、flex
overflow 除了 visible 以外的值 (hidden、auto、scroll)
3.BFC解决的问题
1) 同一个 BFC 下外边距会发生折叠
1 |
|
解决方案:避免边框重叠,将元素放置在新的BFC容器内
1 |
|
一般使用overflow: hidden
因为这个属性对布局的影响比较小。
2) 高度塌陷
float导致元素脱离了普通文档流
1 |
|
解决方案:触发容器的BFC,就会让容器包含浮动元素
1 |
|
3) 元素被浮动元素覆盖
1 |
|
解决方案:触发元素的BFC
1 |
|
4.两列布局与三列布局的应用
1)两列布局(左边部分宽度限定,右边自适应)
1 |
|
2) 三列布局(左和右列宽度固定,中间自适应)
1 |
|
需要注意的地方就是,浮动的元素要写在前面。
参考资料:https://blog.csdn.net/jiaojsun/article/details/76408215