前端BFC总结

71 阅读1分钟

1. 概念:Block fomatting context (块级格式化上下文),是页面中独立的渲染区域,来决定HTML元素如何在环境中定位,与其他元素相互作用。

2. 如何开启BFC

  • 根元素或者其他包含它的元素
  • 开启定位,position的值设置为absolute或fixed
  • 开启浮动,float的值不为none
  • 设置内容溢出,overflow的值设置为visible其他的值,hidden,auto,scroll
  • 设置元素为内联块或表格单元格或表格标题,即display设置成inline-block,table-cell或table-caption

3. BFC的约束规则

  • 开启了BFC的元素是页面上的独立容器,容器内的元素不会影响外面的元素
  • 内部的盒会在垂直方向一个接一个排列
  • 不会被浮动元素覆盖
  • 计算BFC的整体高度时,浮动的子元素也要参与计算,BFC中的子元素不会超出包含块
  • 处于同一个BFC中的元素会发生外边距重叠

4.BFC的应用

  • 解决边距塌陷问题(包含垂直方向,水平方向,嵌套元素的margin重叠)
  • 清除内部浮动(对应计算BFC高度时,内部浮动元素也参与)
  • 自适应多栏布局