首先BFC的英文全稱Block Format Context,也就是塊級格式化上下文。css
首先,咱們你們都知道的BFC特性:html
BFC
的區域不會與float box
重疊。下面也是你們都熟悉的建立BFC的方法api
table-cell
,table-caption
,inline-block
,flex
,inline-flex
,flow-root
其中最後一個爲專門建立BFC的屬性absolute
,fixed
從實例1能夠看到特性1,內部元素會從頂部一個接一個的放置,而且屬於同一個BFC的兩個相鄰的margin會發生重疊。如何解決邊距重疊的問題呢?此時咱們須要給元素套上一個父元素,將父元素變成BFC。flex
實例code
這樣即可以解決邊距重疊問題。orm
從實例2上能夠看到,元素的外邊距會觸碰到包含塊容器的外邊框,也就是元素左邊與容器左邊相接觸,與浮動元素髮生了重疊。htm
當右面元素觸發BFC的時候,不會與左面元素髮生重疊,見實例ci
當兩個子元素都進行浮動時,此時父元素的高度會消失,第六個特性,計算BFC的高度時,浮動元素也會參與計算,此時咱們觸發父元素的BFC。實例get
此時發現高度會從新被撐開,因此計算BFC的高度浮動元素也會參與計算it