BFC全称为block formatting context,中文为“块级格式化上下文”,请大家记住这个表现原则:如果一个元素具有BFC,内部子元素再怎么翻江倒海,都不会影响外部的元素。所以,BFC元素是不可能发生margin重叠的,因为margin重叠会影响外面的元素的;BFC也可以用来清除浮动的影响。
那怎么会触发到BFC呢,
1.<html>根元素
2.float的值不为none
3.overflow的值为auto,scroll或hidden
4.display的值为table-cell,table-caption和inline中的任何一个
5.position的值不为relative和static
只要符合上面任意一个条件,就无须使用clear:both属性去清除浮动的影响了,BFC也是为了实现更健壮、更智能的自适应布局。