BFC介紹
BFC官方定義:塊格式化上下文,它是Web頁面的視覺化CSS渲染的一部分。具體功能類似與一種官方定義的特殊的css屬性,這種屬性是不可更改的。
BFC規則
BFC的一系列作用,比如常用的清除浮動,取消margin合併等等這些作用得以實現,是因為BFC的一些規則。它的規則如下:
- 【1】內部的Box會在垂直方向,一個接一個地放置。
- 【2】Box垂直方向的距離由margin決定。屬於同一個BFC的兩個相鄰Box的margin會發生重疊
- 【3】每個元素的margin box的左邊, 與包含塊border box的左邊相接觸(對於從左往右的格化,否則相反)。即使存在浮動也是如此。
- 【4】BFC的區域不會與float box重疊。
- 【5】BFC就是頁面上的一個隔離的獨立容器,容器裡面的子元素不會影響到外面的元素。反之也如此。
- 【6】計算BFC的高度時,浮動元素也參與計算
BFC生成方式
- 該元素是根元素或包含根元素
- float的值不為none
- overflow的值不為visible
- display的值為inline-block、table-cell、table-caption
- position的值為absolute或fixed