简述你对BFC规范的理解

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

posted @ 2020-01-14 20:44  张石磊博客  阅读(1211)  评论(0编辑  收藏  举报