BFC,block formatting context,塊級格式化上下文。在日常開發中,有可能你聽說過,或者沒聽過但是已經用過了。今天我們從原理來剖析BFC。
先看一個例子:
媒體對象
左邊灰色背景的“塊”一般成為“媒體對象”。媒體對象的左邊是一張圖片,右邊是文本。我們将img設置為浮動,讓文本和圖片自然地左右排列。有些時候,我們不想讓文本環繞圖片,而是嚴格的分成左右兩個部分。此時,我們就需要清除圖片底部的浮動。
為了實現這種布局,需要為文本建立一個塊級格式化上下文。我們修改下上面的代碼:
創建BFC
創建BFC對元素做了以下事情:
簡而言之,BFC裡的内容不會跟外部的元素重疊或者相互影響。如果給元素增加clear屬性,它隻會清除自身所在的BFC的浮動。如果強制給一個元素生成一個新的BFC,它不會跟其他BFC重疊。
如何給一個元素創建一個BFC呢?給元素添加以下任意屬性都會創建BFC:
浮動在現在的前端開發中已經不再那麼流行,因為在很多場景有新的替代特性,比如flex、grid布局,還有就是float有很多細節點需要考慮,稍微不注意就會産生不合預期的表現。今天我們學習的BFC就是對浮動布局的一個輔助,要記住BFC的應用場景以及如何創建一個BFC,才能在使用float的時候更加得心應手!
上面提供了很多創建BFC的方式,之前的例子中,我們使用的是overflow:auto;有小夥伴知道如果使用别的方式會達到效果嗎?會有副作用嗎?歡迎在評論區留言和我讨論~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!