概念:
块级格式化上下文,可以理解为一块独立的区域,是web页面中盒子模型的CSS渲染模式
布局规则:
1.BFC内部的子元素,在垂直方向,边距会发生重叠
2.BFC在页面中是独立的容器,外面的元素不会影响里面的元素,反之亦然
3.BFC区域不与旁边的float box区域重叠。(可以用来清楚浮动带来的影响)
4.计算BFC的高度时,浮动的子元素也参与计算
如何生成BFC
1.overflow:不为visible,可以是hidden,auto;
2.浮动中:float的属性值不为none。只要设置了浮动,当前元素就创建了BFC
3.定位中:只要position的值不是static或者relative即可,可以是absolute或者fixed,就生成了一个BFC
4.display为inline-block,table-cell,yable-caption,flex,inline-flex
应用
1.让margin不再折叠
常规文档流,两个兄弟盒子直接的间距是以较大的那个margin为准,如何让其margin等于两个盒子的margin和呢?? <br><b>解决:让其中一个盒子处于BFC中。</b>
2.BFC区域不与float区域重叠
3.防止文字环绕着浮动的盒子
4.清除浮动