整理css之BFC原理

首先回顧下CSS常出現的幾個樣式問題
1當子元素添加上邊距時,父元素也會向下移動瀏覽器

clipboard.png

解決方法:
給子元素添加display:inline-block;
或者用父元素的padding-top代替給能夠spa

clipboard.png

2子元素浮動後,父級元素檢測不到其高度
3當元素浮動後,兄弟元素的內容超過其高度後會侵佔它的區域(其實問題緣由與第二點相似)ip

clipboard.png

解決方法:給超出高度的元素加上overflow:hidden;it

clipboard.png

4同級元素間的邊距重疊時,如兩個元素間有上下邊距,只會有值大的邊距生效。class

clipboard.png

解決方法:
給其中一個元素加上一層標籤包裹,並給標籤加上知足BFC的樣式容器

問題出現緣由:
1 元素之間的邊距沒法識別是由於它們的邊距合併到了一塊兒,瀏覽器只能識別較大的那個值
2 元素浮動後或絕對定位後,高度將沒法識別,因此可能會影響父級元素cli

BFC級格式化上下文,大白話理解則是讓它造成一個獨立的容器,
與外面的元素不會相互影響,而使用BFC則能夠解決上訴問題。
經過BFC 格式化上下文後 能夠將脫離了普通流的元素隔離,使其不會與外界的元素相互隔離。方法

第一次寫,寫得很差,請你們多多指教哈哈哈哈im