【CSS】-【BFC(块级格式上下文)是什么?】

618 阅读1分钟

定义:

BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有块级元素(Block-level box)参与, 它规定了内部的块级元素(Block-level box)如何布局,并且与这个区域外部毫不相干。

BFC布局规则

  • 内部的box会在垂直方向,一个接一个的放置。
  • box垂直方向的距离有margin决定。属于同一个BFC的两个相邻box的margin会发生重叠。
  • 每个元素的左外边距与包含块的左边界相接触,即使浮动元素也是如此。
  • BFC的区域不会与float的元素区域重叠。
  • 计算BFC的高度时,浮动子元素也参与计算。
  • BFC就是页面上一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然。

BFC能解决的问题

  • 高度塌陷
  • 外边距重叠
  • 清除浮动

创建BFC的方式

  • 根元素
  • float属性不为none
  • position为absolute或fixed
  • display为inline-block, table-cell, table-caption, flex, inline-flex
  • overflow不为visible( hidden,scroll,auto)