css中的BFC

在普通流中的盒子會(huì)參與一種格式上下文,這個(gè)盒子可能是塊盒也可能是行內(nèi)盒,但不可能同時(shí)是塊盒又是行內(nèi)盒。塊級(jí)盒參與塊級(jí)格式上下文(BFC),行內(nèi)級(jí)盒參與行級(jí)格式上下文(IFC)。

BFC的形成

浮動(dòng),絕對(duì)定位元素,和display屬性為inline-boxs、table-cells、table-captions的不是塊盒的塊容器(除非這個(gè)值已經(jīng)被傳播到視口),以及當(dāng)overflow不為visible的塊盒才會(huì)為它的內(nèi)容創(chuàng)建新的BFC。

為了看得更清晰,梳理如下

  • float 的值不為 none
  • position 的值不為 static 或 relative
  • display 的值為 table-cell、table-caption、inline-block、flex 或 inline-flex
  • overflow 的值不為 visibility

BFC的特性

1.在BFC中,盒子都是從它的包含塊的頂部一個(gè)一個(gè)的垂直放置的。兩個(gè)相鄰盒子的垂直間距決定于margin屬性。在BFC中,兩個(gè)相鄰塊級(jí)盒子之間垂直方向上的外邊距是會(huì)塌陷的。
2.在BFC中,每個(gè)盒子的左外邊界挨著包含塊的左邊界(對(duì)于從右到左的格式化,則為右邊界互相挨著)。即使是存在浮動(dòng)元素也是如此(即使一個(gè)盒子的行盒是因?yàn)楦?dòng)而收縮了的),除非這個(gè)盒子建立了一個(gè)新的BFC(在某些情況下這個(gè)盒子自身會(huì)因?yàn)楦?dòng)而變窄)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,135評(píng)論 1 92
  • 一、BFC是什么? 它是 Block Formatting Context (塊級(jí)格式化上下文) 的簡(jiǎn)稱(chēng),接下來(lái)通...
    07120665a058閱讀 3,918評(píng)論 15 40
  • BFC是什么? BFC(Block Formatting Context)直譯為“塊級(jí)格式化范圍 ”。 是 W3C...
    若邪Y閱讀 2,200評(píng)論 0 2
  • 開(kāi)篇 一些元素,如float元素,如position為absolute,inline-block,table-ce...
    Pursue閱讀 12,093評(píng)論 13 56
  • 先前在學(xué)習(xí)CSS float時(shí),有同學(xué)提到了BFC這個(gè)詞,作為求知好問(wèn)的好學(xué)生,哪里不懂查哪里,那么今天就來(lái)研究一...
    這名字真不對(duì)閱讀 6,688評(píng)論 3 19

友情鏈接更多精彩內(nèi)容