为什么会有BFC?BFC是什么?如何触发?BFC解决了什么问题?
这一次,完全弄懂BFC
面试题:介绍下 BFC 及其应用
BFC: 块级格式化上下文
BFC 触发条件:
- 浮动元素(元素的 float 不是 none)
- 绝对定位元素(元素的 position 为 absolute 或 fixed)
- 行内块 inline block 元素
- overflow 值不为 visible 的块元素
- 弹性元素(display为 flex 或 inline-flex元素的直接子元素)
BFC解决了什么问题:
- 清除浮动(为什么不用 .clearfix 呢?)
- 防止 margin 合并
- 某些古老的布局方式会用到(已过时)
其他
使用最新的 display: flow-root 来触发 BFC 就没有副作用了,但是很多人不知道。