BFC

Posted ygunoil

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BFC相关的知识,希望对你有一定的参考价值。

1. BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,(只有Block-level box参与,它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。)
2.BFC的布局规则有:
    1.BFC就是在页面上的一个独立的隔离的容器,容器里面的子元素不会影响到外面的元素,外面的元素也不会影响到容器里面的子元素;
    2.BFC内部的box会在垂直方向上一个接一个的放置;
    3.margin折叠(Box垂直方向的距离由margin决定,属于同一个BFC的两个相邻Box的margin会发生折叠);
    4.每个元素的margin box的左边,与包含块border box的左边相接触(对于从左往右的格式话,否则相反),即使存在浮动也是如此;
    5.BFC的区域不会与float box发生重叠(浮动元素脱离文档流后面元素跟上去);
    6.计算BFC的高度时,浮动元素也参与计算;
3.会生成BFC的元素有:
    1.根元素 
    2.float不为none的元素
    3.overflow不为visible的元素
    4.position为absolute或fixed的元素 
    5.display为inline-block、inline-flex、flex、table-cell、table-caption的元素
4.BFC的作用有防止margin折叠、自适应两栏布局、清除内容浮动等等

以上是关于BFC的主要内容,如果未能解决你的问题,请参考以下文章

BFC 神奇背后的原理

BFC理解余应用

BFC 神奇背后的原理

BFC 神奇背后的原理

什么是BFC?

前端精选文摘:BFC 神奇背后的原理