关于BFC, 有哪些了解?

BFC, 全称为Block Formatting Context(块级格式化上下文), 它是一块独立的渲染区域, 它规定了在该区域中, 常规流块盒的布局. 大致规则为:

  • 常规流块盒在水平方向上, 必须撑满包含块
  • 常规流块盒在包含块的垂直方向上依次排列
  • 常规流块盒若外边距无缝相邻, 则进行外边距合并
  • 常规流块盒的自动高度和摆放位置, 无视浮动元素(绝对定位元素)

会在内部创建BFC区域的元素:

  • 根元素
  • 浮动和绝对定位元素(包括固定定位)
  • overflow不等于visible的块盒
  • display属性取值为inline-block, table-cell, table-caption, flex, inline-flex之一的元素

创建了BFC的元素, 隔绝了它内部和外部的联系, 内部的渲染不会影响到外部, 因此:

  • 创建BFC的元素, 它本身的自动高度需要计算浮动元素
  • 创建BFC的元素, 它的边框盒不会与浮动元素重叠
  • 创建BFC的元素, 不会和它的子元素进行外边距合并

你可能感兴趣的:(关于BFC, 有哪些了解?)