什么是BFC

73 阅读1分钟

BFC就是块级格式上下文,是一个独立渲染的区域。

规则特性
  1. 内部的 Box(CSS布局的对象和基本单位)会在垂直方向,一个接一个地放置
  2. Box垂直方向的距离由margin决定,相邻盒子的外边距会发生重叠
  3. 每个元素的 margin box 的左边, 与包含块 border box 的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此
  4. BFC 的区域不会与 float box 重叠
  5. 计算BFC高度时,浮动元素也参与计算
  6. BFC 就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此
BFC的生成方式有
  1. html 根元素
  2. float(浮动) 属性不为 none
  3. position(定位) 为 absolute(绝对定位) 或 fixed(固定定位)
  4. display(布局方式) 为表格布局或者弹性布局( inline-block(行内块), table-cell(表格单元格显示), table-caption(表格标题显示), flex(弹性容器), inline-flex(伸缩容器))
  5. overflow 不为 visible
BFC 主要的作用
  1. 清除浮动
  2. 防止同一 BFC 容器中的相邻元素间的外边距重叠问题