关于BFC

288 阅读1分钟

一.BFC是什么

BFC(Block Formatting Context),即块级作用域上下文。它是一个容器用来管理脱离文档流的元素。我们当一个元素设置了浮动,定位等属性就有可能脱离文档流,他就有可能和原来同层级的元素产生遮盖,为了解决脱离文档流的元素可能引起的问题,就有了BFC

二.触发BFC条件

  1. 根元素
  2. 浮动
  3. position为absolute或者fixed
  4. overflow不为visiable
  5. display为inline-block/table-cell/flex
也就是说当一个元素设置了以上的属性的时候,就会给它的子元素创造一个容器进行隔离

三.BFC的效果

对于外部元素来说,BFC是隔离效果,但是对BFC内部来说,它会有那些作用呢

  1. 内部的元素会在竖直方向一一排列
  2. 解决浮动引起的高度塌陷(计算BFC高度时,会把BFC所有元素的高度算上去)
  3. BFC中每个元素的左边会贴着容器的左侧
  4. 外边距的合并