tft每日頭條

 > 生活

 > css的正确語法構成

css的正确語法構成

生活 更新时间:2024-08-24 08:31:54

BFC,block formatting context,塊級格式化上下文。在日常開發中,有可能你聽說過,或者沒聽過但是已經用過了。今天我們從原理來剖析BFC。

先看一個例子:

css的正确語法構成(css解析理解BFC)1

媒體對象

左邊灰色背景的“塊”一般成為“媒體對象”。媒體對象的左邊是一張圖片,右邊是文本。我們将img設置為浮動,讓文本和圖片自然地左右排列。有些時候,我們不想讓文本環繞圖片,而是嚴格的分成左右兩個部分。此時,我們就需要清除圖片底部的浮動。

為了實現這種布局,需要為文本建立一個塊級格式化上下文。我們修改下上面的代碼:

css的正确語法構成(css解析理解BFC)2

創建BFC

創建BFC對元素做了以下事情:

  1. 包含了内部所有元素的上下外邊距。它們不會跟BFC外面的元素産生外邊距折疊。
  2. 包含了内部所有的浮動元素。
  3. 不會跟BFC外面的浮動元素重疊。

簡而言之,BFC裡的内容不會跟外部的元素重疊或者相互影響。如果給元素增加clear屬性,它隻會清除自身所在的BFC的浮動。如果強制給一個元素生成一個新的BFC,它不會跟其他BFC重疊。

如何給一個元素創建一個BFC呢?給元素添加以下任意屬性都會創建BFC:

  1. float:left或right,不為none即可
  2. overflow:hidden,auto,scroll等,不為visible即可
  3. display:inline-block,table-cell,table-caption,flex,inline-flex,grid,inline-grid。(擁有這些屬性的元素成為塊級容器)
  4. position:absolute,fixed
總結

浮動在現在的前端開發中已經不再那麼流行,因為在很多場景有新的替代特性,比如flex、grid布局,還有就是float有很多細節點需要考慮,稍微不注意就會産生不合預期的表現。今天我們學習的BFC就是對浮動布局的一個輔助,要記住BFC的應用場景以及如何創建一個BFC,才能在使用float的時候更加得心應手!

上面提供了很多創建BFC的方式,之前的例子中,我們使用的是overflow:auto;有小夥伴知道如果使用别的方式會達到效果嗎?會有副作用嗎?歡迎在評論區留言和我讨論~

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved