什么是BFC?作用有哪些?如何创建BFC?

144 阅读1分钟

什么是BFC

  • BFC(Block formatting context)直译为“块级格式化上下文”。BFC它是一个独立的渲染区域,只有Block-level box(块元素)参与,它规定了内部的Block-level box如何布局,并且与这个区域外部毫不相关。
  • 可以理解成:创建了 BFC的元素就是一个独立的盒子,里面的子元素不会在布局上影响外面的元素(里面怎么布局都不会影响外部),BFC仍属于文档中的普通流

BFC的规则

  • 内部的Box会在垂直方向,从顶部一个接一个地放置
  • 垂直方向上的距离由margin决定(防止margin重叠)
  • 计算高度时浮动也参与计算(清除浮动)
  • BFC的区域不会与float的元素区域重叠(防止文字环绕)

如何创建BFC

  1. 根元素
  2. 绝对定位:absolute、fixed
  3. float不为none
  4. overflow不为visible
  5. display为flex、inline-block、table-cell