1.BFC是什麼,怎麼使用?

BFC(Block formatting context)直譯爲"塊級格式化上下文"。它是一個獨立的渲染區域,只有Block-level box參與, 它規定了內部的Block-level Box如何佈局,並且與這個區域外部毫不相干。

BFC的佈局規則

  • 內部的Box會在垂直方向,一個接一個地放置。

  • Box垂直方向的距離由margin決定。屬於同一個BFC的兩個相鄰Box的margin會發生重疊。

  • 每個盒子(塊盒與行盒)的margin box的左邊,與包含塊border box的左邊相接觸(對於從左往右的格式化,否則相反)。即使存在浮動也是如此。

  • BFC的區域不會與float box重疊。

  • BFC就是頁面上的一個隔離的獨立容器,容器裏面的子元素不會影響到外面的元素。反之也如此。

  • 計算BFC的高度時,浮動元素也參與計算。

如何創建BFC

  1. float的值不是none;
  2. position的值不是static或者relative;
  3. display的值是inline-block、table-cell、flex、table-caption或者inline-flex;
  4. overflow的值不是visible。 值得一提的是,body標籤下一級標籤會任務是同一BFC

BFC部分用途

  1. 避免margin重疊
  2. 自適應兩欄佈局
  3. 清楚浮動浮動
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章