最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

CSSBFC(BlockFormattingContext)_html/css

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 16:11:00
文檔

CSSBFC(BlockFormattingContext)_html/css

CSSBFC(BlockFormattingContext)_html/css_WEB-ITnose:BFC的定義是 W3C CSS 2.1 規(guī)范中的一個概念,它決定了元素如何對其內(nèi)容進行定位,以及與其他元素的關(guān)系和相互作用。在創(chuàng)建了 Block Formatting Context 的元素中,其子元素會一個接一個地放置。垂直方向上他們的起點是一個包含塊的頂部,兩個相鄰的元素之間的
推薦度:
導(dǎo)讀CSSBFC(BlockFormattingContext)_html/css_WEB-ITnose:BFC的定義是 W3C CSS 2.1 規(guī)范中的一個概念,它決定了元素如何對其內(nèi)容進行定位,以及與其他元素的關(guān)系和相互作用。在創(chuàng)建了 Block Formatting Context 的元素中,其子元素會一個接一個地放置。垂直方向上他們的起點是一個包含塊的頂部,兩個相鄰的元素之間的

BFC的定義
是 W3C CSS 2.1 規(guī)范中的一個概念,它決定了元素如何對其內(nèi)容進行定位,以及與其他元素的關(guān)系和相互作用。
在創(chuàng)建了 Block Formatting Context 的元素中,其子元素會一個接一個地放置。垂直方向上他們的起點是一個包含塊的頂部,兩個相鄰的元素之間的垂直距離取決于 ‘margin’ 特性。在 Block Formatting Context 中相鄰的塊級元素的垂直邊距會折疊(collapse)。

在 Block Formatting Context 中,每一個元素左外邊與包含塊的左邊相接觸(對于從右到左的格式化,右外邊接觸右邊), 即使存在浮動也是如此(盡管一個元素的內(nèi)容區(qū)域會由于浮動而壓縮),除非這個元素也創(chuàng)建了一個新的 Block Formatting Context 。

BFC到底是什么?

當(dāng)涉及到可視化布局的時候,Block Formatting Context提供了一個環(huán)境,HTML元素在這個環(huán)境中按照一定規(guī)則進行布局。一個環(huán)境中的元素不會影響到其它環(huán)境中的布局。比如浮動元素會形成BFC,浮動元素內(nèi)部子元素的主要受該浮動元素影響,兩個浮動元素之間是互不影響的。這里有點類似一個BFC就是一個獨立的行政單位的意思。

怎樣才能形成BFC

  • float的值不為none。
  • overflow的值不為visible。
  • display的值為table-cell, table-caption, inline-block中的任何一個。
  • position的值不為relative和static。
  • BFC的作用

    1.不和浮動元素重疊

    如果一個浮動元素后面跟著一個非浮動的元素,那么就會產(chǎn)生一個覆蓋的現(xiàn)象,很多自適應(yīng)的兩欄布局就是這么做的。比如下圖的效果,參考例子

    1 1232 

    3 The quick brown fox jumped over the lazy dog's back.4 The quick brown fox jumped over the lazy dog's back.5 The quick brown fox jumped over the lazy dog's back.6 The quick brown fox jumped over the lazy dog's back.7

    2.清除元素內(nèi)部浮動

    只要把父元素設(shè)為BFC就可以清理子元素的浮動了,最常見的用法就是在父元素上設(shè)置overflow: hidden樣式,對于IE6加上zoom:1就可以了(IE Haslayout)。

    3.嵌套元素Margin邊距折疊問題的解決

    按照BFC的定義,只有同屬于一個BFC時,兩個元素才有可能發(fā)生垂直Margin的重疊,這個包括相鄰元素,嵌套元素,只要他們之間沒有阻擋(例如邊框,非空內(nèi)容,padding等)就會發(fā)生margin重疊。

    因此要解決margin重疊問題,只要讓它們不在同一個BFC就行了,但是對于兩個相鄰元素來說,意義不大,沒有必要給它們加個外殼,但是對于嵌套元素來說就很有必要了,只要把父元素設(shè)為BFC就可以了。這樣子元素的margin就不會和父元素的margin發(fā)生重疊了。

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    CSSBFC(BlockFormattingContext)_html/css

    CSSBFC(BlockFormattingContext)_html/css_WEB-ITnose:BFC的定義是 W3C CSS 2.1 規(guī)范中的一個概念,它決定了元素如何對其內(nèi)容進行定位,以及與其他元素的關(guān)系和相互作用。在創(chuàng)建了 Block Formatting Context 的元素中,其子元素會一個接一個地放置。垂直方向上他們的起點是一個包含塊的頂部,兩個相鄰的元素之間的
    推薦度:
    標(biāo)簽: html css 上下文
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top