css 中不得不提的bfc 獨立容器css
在進行盒子元素佈局的時候, BFC 提供了一個環境, 在這個環境中按照必定規則進佈局
行佈局不會影響到其它環境中的佈局。好比浮動元素會造成 BFC,浮動元素內部子元素spa
的主要受該浮動元素影響,兩個浮動元素之間是互不影響的。it
也就是說,若是一個元素符合了成爲 BFC 的條件,該元素內部元素的佈局和定位io
就和外部元素互不影響(除非內部的盒子創建了新的 BFC), 是一個隔離了的獨立容器。table
在 CSS3 中,BFC 叫作 Flow Root。容器
造成 BFC 的條件(符合如下任一條件便可): bfc
1) float 的值不爲 none;scroll
2) overflow 的值不爲 visible;float
3) display 的值爲 table-cell、table-caption 和 inline-block 之一;
4) position 的值不爲 static 或 relative 中的任何一個;
或則是這樣:
float:left|right
position:absolute|fixed
display: table-cell|table-caption|inline-block
overflow: hidden|scroll|auto