天天看点

【CSS】BFC

1 BFC是什么

block formation context 块级格式化上下文,它就是页面的一个隔离的独立容器,容器里面的元素不会影响到外面的元素。这个特性可以很好地帮助我们进行页面布局。

2 触发BFC的情况

1)float:不为none的情况
2)position:为absolute,fixed的情况
3)display:flex inline-flex table-cell table-caption inline-block block list-item
4)overflow:不为visible的情况
           

3 BFC特性

1)	在BFC中,从盒子顶部开始一个个垂直排列 
2)	盒子垂直方向上的间距有margin决定,属于同一个BFC的两个相邻盒子的margin会发生重叠
3)	在BFC中,每个盒子的左外边缘会触碰到容器的左边缘
4)	BFC的区域不会与浮动的盒子产生交集 而是紧贴着浮动的边缘
5)	计算BFC高度时,也会计算浮动的盒子的高度
           

4 BFC的主要用途

BFC的主要用途:
1)	清除元素内部浮动:只要把父元素设为BFC就可以清理子元素的浮动了,最常见的是在父元素上添加overflow:hidden样式,对于IE6加上zoom:1就可以了,主要用到的特性:计算BFC盒子高度时,自然也会检测浮动的盒子高度
2)	解决外边距合并问题:主要用到的特性:盒子垂直方向的距离由margin决定,属于同一个BFC的两个相邻盒子的margin会发生重叠,那么我们创建不属于同一个BFC,就不会发生margin重叠了
3)	制作右侧自适应的盒子问题:用到的特性:BFC的区域不会与浮动盒子产生交集,而是紧贴浮动边缘
           
【CSS】BFC