BFC、IFC谷扣、GFC和FFC

CSS2.1中只有BFC和IFC, CSS3中才有GFC和FFC焙压。

FC

全稱是:Formatting Contexts,是W3C CSS2.1規(guī)范中的一個(gè)概念。它是頁(yè)面中的一塊渲染區(qū)域涯曲,并且有一套渲染規(guī)則野哭,它決定了其子元素將如何定位,以及和其他元素的關(guān)系和相互作用幻件。

BFC

BFC(Block Formatting Contexts)直譯為"塊級(jí)格式化上下文"拨黔。Block Formatting Contexts就是頁(yè)面上的一個(gè)隔離的渲染區(qū)域,容器里面的子元素不會(huì)在布局上影響到外面的元素绰沥,反之也是如此篱蝇。
如何產(chǎn)生BFC?
float的值不為none徽曲。
overflow的值不為visible零截。
position的值不為relative和static。
display的值為table-cell, table-caption, inline-block中的任何一個(gè)秃臣。
那BFC一般有什么用呢涧衙?
比如常見(jiàn)的多欄布局,結(jié)合塊級(jí)別元素浮動(dòng)奥此,里面的元素則是在一個(gè)相對(duì)隔離的環(huán)境里運(yùn)行弧哎。

IFC

IFC(Inline Formatting Contexts)直譯為"內(nèi)聯(lián)格式化上下文",IFC的line box(線框)高度由其包含行內(nèi)元素中最高的實(shí)際高度計(jì)算而來(lái)(不受到豎直方向的padding/margin影響)IFC中的line box一般左右都貼緊整個(gè)IFC稚虎,但是會(huì)因?yàn)閒loat元素而擾亂撤嫩。
float元素會(huì)位于IFC與與line box之間,使得line box寬度縮短蠢终。
同個(gè)ifc下的多個(gè)line box高度會(huì)不同序攘。
IFC中時(shí)不可能有塊級(jí)元素的,當(dāng)插入塊級(jí)元素時(shí)(如p中插入div)會(huì)產(chǎn)生兩個(gè)匿名塊與div分隔開(kāi)寻拂,即產(chǎn)生兩個(gè)IFC两踏,每個(gè)IFC對(duì)外表現(xiàn)為塊級(jí)元素,與div垂直排列兜喻。
那么IFC一般有什么用呢梦染?
水平居中:當(dāng)一個(gè)塊要在環(huán)境中水平居中時(shí),設(shè)置其為inline-block則會(huì)在外層產(chǎn)生IFC朴皆,通過(guò)text-align則可以使其水平居中帕识。垂直居中:創(chuàng)建一個(gè)IFC,用其中一個(gè)元素?fù)伍_(kāi)父元素的高度遂铡,然后設(shè)置其vertical-align:middle肮疗,其他行內(nèi)元素則可以在此父元素下垂直居中。

GFC

GFC(GridLayout Formatting Contexts)直譯為"網(wǎng)格布局格式化上下文"扒接,當(dāng)為一個(gè)元素設(shè)置display值為grid的時(shí)候伪货,此元素將會(huì)獲得一個(gè)獨(dú)立的渲染區(qū)域们衙,我們可以通過(guò)在網(wǎng)格容器(grid container)上定義網(wǎng)格定義行(grid definition rows)和網(wǎng)格定義列(grid definition columns)屬性各在網(wǎng)格項(xiàng)目(grid item)上定義網(wǎng)格行(grid row)和網(wǎng)格列(grid columns)為每一個(gè)網(wǎng)格項(xiàng)目(grid item)定義位置和空間。
那么GFC有什么用呢碱呼,和table又有什么區(qū)別呢蒙挑?首先同樣是一個(gè)二維的表格,但GridLayout會(huì)有更加豐富的屬性來(lái)控制行列愚臀,控制對(duì)齊以及更為精細(xì)的渲染語(yǔ)義和控制忆蚀。

FFC

FFC(Flex Formatting Contexts)直譯為"自適應(yīng)格式化上下文",display值為flex或者inline-flex的元素將會(huì)生成自適應(yīng)容器(flex container)姑裂,可惜這個(gè)牛逼的屬性只有谷歌和火狐支持馋袜,不過(guò)在移動(dòng)端也足夠了,至少safari和chrome還是OK的舶斧,畢竟這倆在移動(dòng)端才是王道欣鳖。
Flex Box 由伸縮容器和伸縮項(xiàng)目組成。通過(guò)設(shè)置元素的 display 屬性為 flex 或 inline-flex 可以得到一個(gè)伸縮容器茴厉。
設(shè)置為 flex 的容器被渲染為一個(gè)塊級(jí)元素泽台,而設(shè)置為 inline-flex 的容器則渲染為一個(gè)行內(nèi)元素。伸縮容器中的每一個(gè)子元素都是一個(gè)伸縮項(xiàng)目呀忧。伸縮項(xiàng)目可以是任意數(shù)量的师痕。伸縮容器外和伸縮項(xiàng)目?jī)?nèi)的一切元素都不受影響溃睹。簡(jiǎn)單地說(shuō)而账,F(xiàn)lexbox 定義了伸縮容器內(nèi)伸縮項(xiàng)目該如何布局。


參考
http://www.xiaomeiti.com/note/3608
http://www.cnblogs.com/dojo-lzz/p/3999013.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末因篇,一起剝皮案震驚了整個(gè)濱河市泞辐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌竞滓,老刑警劉巖咐吼,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異商佑,居然都是意外死亡锯茄,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)茶没,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)肌幽,“玉大人,你說(shuō)我怎么就攤上這事抓半∥辜保” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵笛求,是天一觀的道長(zhǎng)廊移。 經(jīng)常有香客問(wèn)我糕簿,道長(zhǎng),這世上最難降的妖魔是什么狡孔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任懂诗,我火速辦了婚禮,結(jié)果婚禮上步氏,老公的妹妹穿的比我還像新娘响禽。我一直安慰自己,他們只是感情好荚醒,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布芋类。 她就那樣靜靜地躺著,像睡著了一般界阁。 火紅的嫁衣襯著肌膚如雪侯繁。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天泡躯,我揣著相機(jī)與錄音贮竟,去河邊找鬼。 笑死较剃,一個(gè)胖子當(dāng)著我的面吹牛咕别,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播写穴,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼惰拱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了啊送?” 一聲冷哼從身側(cè)響起偿短,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎馋没,沒(méi)想到半個(gè)月后昔逗,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡篷朵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年勾怒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片声旺。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡笔链,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出艾少,到底是詐尸還是另有隱情卡乾,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布缚够,位于F島的核電站幔妨,受9級(jí)特大地震影響鹦赎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜误堡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一古话、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锁施,春花似錦陪踩、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至姥饰,卻和暖如春傻谁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背列粪。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工审磁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人岂座。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓态蒂,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親费什。 傳聞我的和親對(duì)象是個(gè)殘疾皇子钾恢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

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

  • 原文網(wǎng)址:http://www.cnblogs.com/dingyufenglian/p/4845477.html...
    chen1zee閱讀 9,104評(píng)論 0 9
  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,737評(píng)論 1 92
  • BFC 已經(jīng)是一個(gè)耳聽(tīng)熟聞的詞語(yǔ)了,網(wǎng)上有許多關(guān)于 BFC 的文章祠斧,介紹了如何觸發(fā) BFC 以及 BFC 的一些用...
    一木_qintb閱讀 1,534評(píng)論 0 2
  • 初看到css的這幾個(gè)名詞的時(shí)候覺(jué)得很神奇琢锋,用了這么久的css了竟然還有這么高深辕漂,這么神奇的概念。然后搜了一...
    avery1閱讀 750評(píng)論 0 3
  • 今天是周老師出差的第二天吴超,班級(jí)和往常一樣钉嘹。 走進(jìn)教室,就聽(tīng)見(jiàn)了響亮的早讀聲鲸阻,那聲音可真響亮啊跋涣,...
    zhoukewen閱讀 265評(píng)論 0 0