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)。

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息