理解CSS中的 BFC以及其特性

2022-08-27 22:48:14 字數 1634 閱讀 4874

1.什麼是bfc

1.1 bfc是塊級格式上下文,是頁面中,盒布局的css渲染模式。

2.bfc的特性:

2.1 bfc內部相鄰的box設定margin會重疊,並且優先使用值最高的margin。

2.2 bfc是乙個獨立的區域,其內部的元素不會印象到外部,外部的元素也不會印象到內部。

2.3 bfc的區域不會與float的區域重疊。

2.4 計算bfc高度時,float區域的高度也會計算在內。

3.bfc形成條件:

3.1 浮動設定:除了float為none之外的所有屬性都可以形成bfc。

3.2 定位設定:position設定為(absolute,fixed)。

3.3 display 為以下其中之一的值 inline-block,table-cell,table-caption。

3.4 overflow除了visible以外的所有值(hidden,auto,scroll)

4.bfc應用場景:

4.1:解決margin重疊

<

div

class

="bfc-bk"

>

<

p>1

p>

<

div>

<

p>如果不需要邊距重疊,那麼可以使用乙個父級元素包裹起來,並且使用bfc即可,原理是根據以上第2.2條的特性

p>

div>

<

p>3

p>

<

p>4

p>

div>

.bfc-bk.bfc-bk p.bfc-bk div

4.2 解決布局問題

兩列布局,左側固定高寬,右側自適應

<

div

class

="bfc-bj"

>

<

div>使用float進行布局

div>

<

div>使用了float後

如果不把這第二個標籤設定為bfc,那麼當他的高度超過第乙個div時,內容會與第乙個元素重疊

div>

div>

.bfc-bj.bfc-bj div:nth-child(1).bfc-bj div:nth-child(2)

4.3 bfc解決浮動的邊框塌陷問題

<

ul class

="bfc-ul"

>

<

li>1

li>

<

li>將父級設定為bfc,頁面渲染其時高度時,會將float區域的高度也計算在內,原理根據以上2.4條的特性

li>

<

li>3

li>

ul>

.bfc-ul.bfc-ul li

注:如有錯誤,請指出,共同學習 !!!

HTML 中BFC的理解

bfc就是頁面上的乙個隔離的獨立容器,容器裡面的子元素不會影響到外面的元素。反之也如此。包括浮動,和外邊距合併等等,因此,有了這個特性,我們布局的時候就不會出現意外情況了。display 屬性為 block,list item,table 的元素,會產生bfc.給這些元素新增如下屬性就可以觸發bfc...

CSS中的BFC解析

bfc 即塊級格式上下文 block formatting context 它是指乙個獨立的塊級渲染區域,只有block level的box參與,該區域擁有一套渲染規則來約束塊級盒子的布局,且與區域外部無關。css2.1規定滿足一下條件之一就會生成bfc 根元素float的值不為none overf...

CSS中的BFC詳解

一 何為bfc bfc block formatting context 格式化上下文,是web頁面中盒模型布局的css渲染模式,指乙個獨立的渲染區域或者說是乙個隔離的獨立容器。二 形成bfc的條件 1 浮動元素 float除none以外的值。2 定位元素 position absoluted,fi...