BFC

 

BFC 是什么html

        FC( formatting context ) 格式化上下文,是页面中的一块渲染区域,而且有一套渲染规则,它决定了其子元素将如何定位,以及和其余元素的关系和相互做用。app

        BFC( block formatting context ) 块级格式化上下文, 它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,而且与这个区域外部绝不相干。布局

如何触发BFCflex

       一、float属性不为nonespa

       二、position为absolute或fixed3d

       三、display为inline-block, table-cell, table-caption, flex, inline-flexcode

       四、overflow不为visibleorm

BFC 的做用htm

       一、清理浮动blog

        代码:

浮动清理前

        结果:

        

       清理浮动:

      1) 添加代码:

.wrapper{
        overflow:hidden;  
}

       结果(父级依旧为块级block):

       

       2) 添加代码:

.wrapper{
    float: left;
}
/*或者*/
.wrapper{
    position: absolute;
}
/*或者*/
.wrapper{
    display: inline-block;
}

        结果(父级为 inline-block):

        

         缘由是块级元素设置了  float:left/right;  或者  position:absolute/fixed; 后, 内部会把块级元素转换为 display:inline-block; 

 

注意:

        在为了解决问题而添加 BFC规则时,须要根据实际状况慎重选择合适的方法触发,好比上面的清理浮动,若是父级盒子必须为block, 就最多只能选择 overflow:hidden;  可是有时候子元素须要超出父元素,这时就不能用 overflow:hidden;  若是父元素又要为block 又要子元素超出父元素,这时就能够使用 伪元素 ::after来解决(http://www.javashuo.com/article/p-oqjbybgy-du.html)。

相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息