關於BFC的淺見

初次接觸BFC概念是在學浮動的時候,網課老師說啊:“浮動元素產生了浮動流,只有產生了BFC的元素,和文本類屬性的元素及文本才能看到它”。到此我就產生了疑問,帶着疑問的我呢,繼續聽完了那節網課也沒搞懂什麼叫BFC,隨着網課的聽完,我也就將它拋諸腦後了。
今天呢,想起這個問題,也就順手百度學習了一下。

BFC 全稱爲 塊格式化上下文 (Block Formatting Context) 。

那麼BFC有什麼作用呢?僅僅是能看到浮動元素嗎?

1.用來解決垂直方向margin合併問題

塊級標籤之間豎直方向的margin會以大的爲準,這就是margin的塌陷現象,如圖所示。
解決方案:爲灰色方塊添加父級,爲父級添加BFC,添加後效果:在這裏插入圖片描述

2.因爲BFC可以看到浮動元素,因此可以被用作解決兄弟間因浮動產生的覆蓋問題

在這裏插入圖片描述
解決方案:爲綠色添加BFC,添加後效果
在這裏插入圖片描述

3.解決高度塌陷問題,在通常情況下父元素的高度會被子元素撐開,而在這裏因爲其子元素爲浮動元素所以父元素髮生了高度坍塌,上下邊界重合。這時就可以用bfc來清除浮動了。

在這裏插入圖片描述
解決方案:爲父級元素添加BFC,添加後效果
在這裏插入圖片描述

那怎麼產生BFC呢?

1.float屬性不爲默認值
2.overflow不爲visible
3.display不爲block或inline
4.position不爲static或relative

總結:BFC(塊級格式化上下文)能解決“margin塌陷問題 ”,“高度塌陷問題”,“因浮動產生的覆蓋問題”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章