BFC 全称“块级格式化上下文”(Block Formatting Context),对应的还有 IFC。BFC 类似一个“结界”,如果一个 DOM 元素具有 BFC,那么它内部的子元素不会影响外面的元素;外面的元素也不会影响到其内部元素。
应用场景:
- 解决浮动子元素导致父元素,高度坍塌的问题
- 解决文字环绕在float 四周的情况
- 解决边距重叠问题 (父子,兄弟,空元素等)
特性:
- 计算BFC的高度时,浮动子元素也参与计算
- BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然
- BFC的区域不会与float的元素区域重叠
形成条件:
- html 根元素
- float的值不是none
- position 的值不是static或者relative
- display的值是inline-block,table-cell,table-caption,flex,inline-flex
- overflow的值不是visible
tip:
bfc与元素margin重叠没有关系,可以参考他人的一个例子:https://demo.crazyming.com/?link=topic/d7/bfc.html
简述你对BFC规范的理解
原文:https://www.cnblogs.com/zhangshilei/p/12194010.html