CSS格式化上下文FC

2021-10-23 14:53:47 字數 1532 閱讀 9473

fc(formatting contexts),是w3c css2.1規範中的乙個概念。它是頁面中的一塊渲染區域,並且有一套渲染規則,它決定了其子元素將如何定位,以及和其他元素的關係和相互作用。

塊格式化上下文 bfc(block formatting context)
bfc 是web頁面的可視css渲染的一部分,是塊盒子的布局過程發生的區域,也是浮動元素與其他元素互動的區域。

就是頁面上的乙個隔離的渲染區域,容器裡面的子元素不會在布局上影響到外面的元素,外面的元素也不會影響容器內的子元素。

建立塊格式化上下文:

根元素()

浮動元素(元素的 float 不是 none)

絕對定位元素(元素的 position 為 absolute 或 fixed)

行內塊元素(元素的 display 為 inline-block)

**單元格(元素的 display 為 table-cell,html**單元格預設為該值)

**標題(元素的 display 為 table-caption,html**標題預設為該值)

匿名**單元格元素(元素的 display 為 table、table-row、 table-row-group、table-header-group、table-footer-group(分別是html table、row、tbody、thead、tfoot 的預設屬性)或 inline-table)

overflow 值不為 visible 的塊元素

display 值為 flow-root 的元素

contain 值為 layout、content 或 paint 的元素

彈性元素(display 為 flex 或 inline-flex 元素的直接子元素)

網格元素(display 為 grid 或 inline-grid 元素的直接子元素)

多列容器(元素的 column-count 或 column-width 不為 auto,包括 column-count 為 1)

column-span 為 all 的元素始終會建立乙個新的bfc,即使該元素沒有包裹在乙個多列容器中。

行內格式化上下文 ifc(inline formatting context)

ifc(inline formatting contexts)直譯為"內聯格式化上下文",ifc的line box(線框)高度由其包含行內元素中最高的實際高度計算而來(不受到豎直方向的padding/margin影響)

行內格式化上下文是乙個網頁的渲染結果的一部分。其中,各行內框(inline boxes)乙個接乙個地排列,其排列順序根據書寫模式(writing-mode)的設定來決定:

ifc作用:

水平居中:當乙個塊要在環境中水平居中時,設定其為inline-block則會在外層產生ifc,通過text-align則可以使其水平居中。

垂直居中:建立乙個ifc,用其中乙個元素撐開父元素的高度,然後設定其vertical-align:middle,其他行內元素則可以在此父元素下垂直居中。

BFC(格式化上下文)

什麼是bfc?bfc格式化上下文,它是乙個獨立的渲染區域,讓處於 bfc 內部的元素和外部的元素相互隔離,使內外元素的定位不會相互影響 如何產生bfc?display inline block position absolute fixed bfc作用 bfc最大的乙個作用就是 在頁面上有乙個獨立隔...

塊級格式化上下文

html文件中元素的定位有3種方式 普通流 絕對定位 浮動 除普通流以外,浮動與絕對定位都會導致元素脫離普通流,按照各自的方式進行定位。帶有bfc屬性的容器屬於普通流的一種。塊格式化上下文是頁面 css 視覺渲染的一部分。它是用於決定塊盒子的布局及浮動相互影響範圍的乙個區域。bfc是元素在擁有某些特...

塊格式化上下文 BFC

塊格式化上下文 block formatting context,bfc 是web頁面的可視css渲染的一部分,是塊盒子的布局過程發生的區域,也是浮動元素與其他元素互動的區域。塊格式化上下文包含建立它的元素內部的所有內容.塊格式化上下文對浮動定位 參見float 與清除浮動 參見clear 都很重要...