什么是BFC
BFC意为Block Formatting Context
,是一个独立的盒子,对外界不会有影响,当然外界也不会对盒子内部产生影响。
BFC能够解决的问题
- 解决margin穿透的问题
- 解决margin重叠问题
- 解决div塌陷问题(float父元素高度撑不开的问题)
形成BFC的条件
- 浮动元素,float 除 none 以外的值;
- 定位元素,position为(
absolute
或fixed
); - display 为以下其中之一的值
inline-block
,table-cell
,table-caption
; - overflow 除了 visible 以外的值(
hidden, auto, scroll
)
BFC的布局规则特性
- 内部的Box会在垂直方向上一个接一个的放置。
- 垂直方向上的距离由margin决定
- bfc的区域不会与float的元素区域重叠。
- 计算bfc的高度时,浮动元素也参与计算
- bfc就是页面上的一个独立容器,容器里面的子元素不会影响外面元素。
- 每个元素的左外边距与包含块的左边界/上边界相接触(从左往右,否则相反),即使存在浮动也是如此,BFC中的子元素不会超出它的包含块
网友评论