什么是css的BFC、IFC猜谚、FFC and GFC


什么是css的BFC败砂、IFC、FFC and GFC

先說一下什么是FC

FC:Formatting Contexts魏铅,是W3C CSS2.1規(guī)范中的一個(gè)概念昌犹。它是頁面中的一塊渲染區(qū)域览芳,并且有一套渲染規(guī)則斜姥,它決定了其子元素將如何定位铸敏,以及和其他元素的關(guān)系和相互作用杈笔。


BFC:“塊級格式化上下文”

Block Formatting Contexts就是頁面上的一個(gè)隔離的渲染區(qū)域糕非,容器里面的子元素不會在布局上影響到外面的元素朽肥,反之也是如此。

如何生成BFC:

float的值不為none融师。

overflow的值不為visible旱爆。

position的值不為relative和static窘茁。

display的值為table-cell, table-caption, inline-block中的任何一個(gè)山林。

作用:

結(jié)合塊級別元素浮動(dòng),里面的元素則是在一個(gè)相對隔離的環(huán)境里運(yùn)行桑孩。

IFC:“內(nèi)聯(lián)格式化上下文”

IFC的line box(線框)高度由其包含行內(nèi)元素中最高的實(shí)際高度計(jì)算而來(不受到豎直方向的padding/margin影響)

IFC是如何生成的:

IFC中的line box一般左右都貼緊整個(gè)IFC流椒,但是會因?yàn)閒loat元素而擾亂宣虾。float元素會位于IFC與與line box之間,使得line box寬度縮短蜻势。 同個(gè)ifc下的多個(gè)line box高度會不同握玛。 IFC中時(shí)不可能有塊級元素的次员,當(dāng)插入塊級元素時(shí)(如p中插入div)會產(chǎn)生兩個(gè)匿名塊與div分隔開淑蔚,即產(chǎn)生兩個(gè)IFC刹衫,每個(gè)IFC對外表現(xiàn)為塊級元素带迟,與div垂直排列。

作用:

水平居中:當(dāng)一個(gè)塊要在環(huán)境中水平居中時(shí)嗅绰,設(shè)置其為inline-block則會在外層產(chǎn)生IFC窘面,通過text-align則可以使其水平居中叽躯。

垂直居中:創(chuàng)建一個(gè)IFC点骑,用其中一個(gè)元素?fù)伍_父元素的高度,然后設(shè)置其vertical-align:middle紧索,其他行內(nèi)元素則可以在此父元素下垂直居中馋嗜。

GFC:“網(wǎng)格布局格式化上下文”

當(dāng)為一個(gè)元素設(shè)置display值為grid的時(shí)候葛菇,此元素將會獲得一個(gè)獨(dú)立的渲染區(qū)域眯停,我們可以通過在網(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會有更加豐富的屬性來控制行列慎宾,控制對齊以及更為精細(xì)的渲染語義和控制趟据。

FFC:“自適應(yīng)格式化上下文”

display值為flex或者inline-flex的元素將會生成自適應(yīng)容器(flex container)汹碱。

FFC 是如何生成的:

Flex Box 由伸縮容器和伸縮項(xiàng)目組成咳促。通過設(shè)置元素的 display 屬性為 flex 或 inline-flex 可以得到一個(gè)伸縮容器。設(shè)置為 flex 的容器被渲染為一個(gè)塊級元素枷莉,而設(shè)置為 inline-flex 的容器則渲染為一個(gè)行內(nèi)元素笤妙。

作用

伸縮容器中的每一個(gè)子元素都是一個(gè)伸縮項(xiàng)目蹲盘。伸縮項(xiàng)目可以是任意數(shù)量的召衔。伸縮容器外和伸縮項(xiàng)目內(nèi)的一切元素都不受影響。簡單地說趣席,F(xiàn)lexbox 定義了伸縮容器內(nèi)伸縮項(xiàng)目該如何布局宣肚。

如果文章對你有用霉涨,就點(diǎn)個(gè)贊吧惭适!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末往枷,一起剝皮案震驚了整個(gè)濱河市师溅,隨后出現(xiàn)的幾起案子墓臭,更是在濱河造成了極大的恐慌妖谴,老刑警劉巖膝舅,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洼滚,死亡現(xiàn)場離奇詭異千康,居然都是意外死亡拾弃,警方通過查閱死者的電腦和手機(jī)豪椿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門搭盾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事户誓〉勖溃” “怎么了悼潭?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵疏橄,是天一觀的道長捎迫。 經(jīng)常有香客問我贝次,道長蛔翅,這世上最難降的妖魔是什么搁宾? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮鸟款,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己罐栈,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布钧嘶。 她就那樣靜靜地躺著,像睡著了一般轿亮。 火紅的嫁衣襯著肌膚如雪疮薇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天我注,我揣著相機(jī)與錄音按咒,去河邊找鬼。 笑死但骨,一個(gè)胖子當(dāng)著我的面吹牛励七,可吹牛的內(nèi)容都是我干的智袭。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼掠抬,長吁一口氣:“原來是場噩夢啊……” “哼吼野!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起两波,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤瞳步,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后腰奋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體单起,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年劣坊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嘀倒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡局冰,死狀恐怖测蘑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情锐想,我是刑警寧澤帮寻,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站赠摇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏浅蚪。R本人自食惡果不足惜藕帜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惜傲。 院中可真熱鬧洽故,春花似錦、人聲如沸盗誊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哈踱。三九已至荒适,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間开镣,已是汗流浹背刀诬。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留邪财,地道東北人陕壹。 一個(gè)月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓质欲,卻偏偏與公主長得像,于是被迫代替她去往敵國和親糠馆。 傳聞我的和親對象是個(gè)殘疾皇子嘶伟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353

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