一、BFC的概念
GFC——block fomatting context(中文译为块级格式化上下文)
二、 如何触发BFC
1. 设置 float 除 none 以外的值(left、right)
2. 设置 overflow 除 visible 以外的值(hidden、scroll、auto)
3. 设置 display 属性(如 table-cell、inline-block、flex)
4. 设置 position 属性(如 absolute、fixed)
三、 BFC的作用
1. 利用BFC解决上下margin重叠问题
多个p元素之间设置上下margin,只能识别其中的一个值,给p元素外层在嵌套一个元素,并设置overflow: hidden; 就为里面的p元素创建一个块级格式化上下文
2. 利用BFC可以解决高度塌陷问题
父元素没有设置高度,子元素float后脱离了正常文档流,不再占据空间,给父元素overflow: hidden; 就给浮动的子元素创建了一个块级格式化上下文,闭合了浮动
3. 利用BFC实现多栏布局
与浮动元素相邻的已生成BFC的元素不能与浮动元素互相覆盖,利用该特性可以作为多栏布局的一种实现方式