什么是BFC
- BFC是一个独立的布局环境,内部元素的布局和外部元素互不影响
- 可以通过一些条件触发
如何触发BFC
- 根元素(在整个文档流中没有父元素)
- float不为none
- position不为static或者relative
- display不为inline-block、table-cell、table-caption、flex、inline-flex
- overflow不为visible
BFC的特性
- 同一个BFC中两个相邻的容器的margin会重叠
- 浮动元素也参与BFC高度计算
- BFC区域不与浮动容器发生重叠
- 内部容器在垂直方向会依次排序
- 元素的margin-left和border-left的内部相接触
- 是独立容器:内部元素不影响外部元素
使用场景
- 解决margin重叠
- 实现多栏布局
- 解决高度坍塌:
对子元素设置float时,会脱离文档流,出现高度塌陷
解决:
(1)对父元素设置display:inline-block,此时父元素的高度和子元素一样
(2)对父元素设置:overflow:auto或者hidden