什么是BFC? BFC的原理及作用?

原文見: https://www.cnblogs.com/libin-1/p/7098468.htmlhttp://www.reibang.com/p/acf76871d259

BFC定義

在一個Web頁面的CSS渲染中条辟,塊級格式化上下文 (Block Fromatting Context) 是按照塊級盒子布局的宏胯。W3C對BFC的定義如下:

浮動元素和絕對定位元素,非塊級盒子的塊級容器(例如 inline-blocks, table-cells, 和 table-captions)杭棵,
以及overflow值不為“visiable”的塊級盒子,都會為他們的內(nèi)容創(chuàng)建新的BFC(塊級格式上下文)魂爪。

一個HTML元素要創(chuàng)建BFC先舷,則滿足下列的任意一個或多個條件即可:
1滓侍、float的值不是none。
2捺球、position的值不是static或者relative。
3氮兵、display的值是inline-block歹鱼、table-cell、flex醉冤、table-caption或者inline-flex
4、overflow的值不是visible

BFC是一個獨立的布局環(huán)境蚁阳,其中的元素布局是不受外界的影響,并且在一個BFC中颠悬,塊盒與行盒(行盒由一行中所有的內(nèi)聯(lián)元素所組成)都會垂直的沿著其父元素的邊框排列定血。

BFC的作用

1. 清除內(nèi)部浮動

我們在布局時經(jīng)常會遇到這個問題:對子元素設(shè)置浮動后,父元素會發(fā)生高度塌陷澜沟,也就是父元素的高度變?yōu)?。
解決這個問題茫虽,只需要把把父元素變成一個BFC就行了。常用的辦法是給父元素設(shè)置overflow:hidden正什。

2. 垂直margin合并

在CSS當中号杏,相鄰的兩個盒子的外邊距可以結(jié)合成一個單獨的外邊距婴氮。這種合并外邊距的方式被稱為折疊,并且因而所結(jié)合成的外邊距稱為折疊外邊距荣暮。
折疊的結(jié)果:
兩個相鄰的外邊距都是正數(shù)時旨怠,折疊結(jié)果是它們兩者之間較大的值。
兩個相鄰的外邊距都是負數(shù)時鉴腻,折疊結(jié)果是兩者絕對值的較大值百揭。
兩個外邊距一正一負時,折疊結(jié)果是兩者的相加的和器一。
這個同樣可以利用BFC解決。關(guān)于原理在前文已經(jīng)講過了渺贤。

3. 創(chuàng)建自適應(yīng)兩欄布局

在很多網(wǎng)站中请毛,我們持景埃看到這樣的一種結(jié)構(gòu)方仿,左圖片+右文字的兩欄結(jié)構(gòu)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末此洲,一起剝皮案震驚了整個濱河市委粉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌贾节,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碰酝,死亡現(xiàn)場離奇詭異戴差,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門墨吓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纹磺,“玉大人,你說我怎么就攤上這事橄杨。” “怎么了式矫?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵采转,是天一觀的道長。 經(jīng)常有香客問我故慈,道長,這世上最難降的妖魔是什么察绷? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任克婶,我火速辦了婚禮筒严,結(jié)果婚禮上情萤,老公的妹妹穿的比我還像新娘。我一直安慰自己筋岛,他們只是感情好,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布肪获。 她就那樣靜靜地躺著柒傻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪红符。 梳的紋絲不亂的頭發(fā)上伐债,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天致开,我揣著相機與錄音,去河邊找鬼虹蒋。 笑死,一個胖子當著我的面吹牛魄衅,可吹牛的內(nèi)容都是我干的膏斤。 我是一名探鬼主播邪驮,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼毅访!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蟆融,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤守呜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后查乒,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡由境,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年蓖议,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勒虾。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖州弟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情婆翔,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布潭陪,位于F島的核電站,受9級特大地震影響依溯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜黎炉,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一醋拧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丹壕,春花似錦、人聲如沸菌赖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽邑时。三九已至,卻和暖如春刁愿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铣口。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工脑题, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留件缸,地道東北人叔遂。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓争剿,卻偏偏與公主長得像痊末,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子凿叠,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案盒件? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 13,759評論 1 92
  • relative:生成相對定位的元素,通過top,bottom,left,right的位置相對于其正常位置進行定位...
    zx9426閱讀 946評論 0 2
  • 1. 在什么場景下會出現(xiàn)外邊距合并协屡?如何合并全谤?如何不讓相鄰元素外邊距合并爷贫?給個父子外邊距合并的范例 外邊距合并:外...
    進擊的阿群閱讀 915評論 1 2
  • 浮動元素的特征,對父容器漫萄、對其他浮動元素、普通元素腾务、文字的影響。 浮動會使應(yīng)用的元素脫離文檔流岩瘦。按指定的位置來移動...
    邢烽朔閱讀 663評論 2 7
  • 談?wù)勎业母改?每個人說起自己的父母,應(yīng)該都有不同的感受叙凡,說起我的父母,用一組詞來形容握爷,應(yīng)該是:和善而堅定跛璧,有耐心...
    傅梓毓閱讀 252評論 0 0