1. 什么是BFC
Block Formatting Context 块级格式化上下文。一个BFC区域包含创建该上下文元素的所有子元素,但是不包括创建了新的BFC的子元素的内部元素,BFC是一块块独立的渲染区域,可以将BFC看成是元素的一种属性,拥有了这种属性的元素就会使他的子元素与世隔绝,不会影响到外部其他元素。
2. 触发条件
html根元素
设置浮动,不包括none
设置定位,absoulte或者fixed
行内块显示模式,inline-block、table-cell、table-caption、flex、inline-flex
设置overflow,不包括visible即hidden,auto,scroll
3. 解决问题
(1)外边距(margin)重叠,当两个上线相邻元素同时拥有外边距,会产生合并取最大值;
(2)清除浮动;
(3)BFC可以阻止标准流元素被浮动元素覆盖;
(4)等等...