如何形成BFC
MDN对如何会出现BFC做了以下的总结,大家可以在实践中把他们记住
- 根元素
- 浮动元素(元素的 float 不是 none)
- 绝对定位元素(元素的 position 为 absolute 或 fixed)
- 行内块元素(元素的 display 为 inline-block)
- overflow 不为 visible 的块元素
- 表格单元格(元素的 display 为 table-cell,HTML表格单元格默认为该值)
- 表格标题(元素的 display 为 table-caption,HTML表格标题默认为该值)
- 弹性元素(display 为 flex 或 inline-flex 元素的直接子元素)
- 匿名表格单元格元素
- display 值为 flow-root 的元素
- contain 值为 layout、content 或 paint 的元素
- 网格元素(display 为 grid 或 inline-grid 元素的直接子元素)
- 多列容器(元素的 column-count 或 column-width 不为 auto,包括 column-count 为 1)
- column-span 为 all 的元素始终会创建一个新的BFC,即使该元素没有包裹在一个多列容器中)。
对于BFC我们需要了解什么
我作了大概几点总结
- BFC内部的box会独占宽度,在垂直方向上面排列
- BFC在垂直方向上的间距margin,如果有两个相邻的box会出现折叠现象
- BFC里