css | flex

首先明確一點(diǎn)是权烧, flex 是 flex-grow蜂筹、flex-shrink、flex-basis的縮寫宋欺。故其取值可以考慮以下情況:

flex 的默認(rèn)值是以上三個(gè)屬性值的組合。假設(shè)以上三個(gè)屬性同樣取默認(rèn)值欠痴,則 flex 的默認(rèn)值是 0 1 auto迄靠。同理,如下是等同的:

.item {flex: 2333 3222 234px;}

.item {

flex-grow: 2333;

flex-shrink: 3222;

flex-basis: 234px;

}

當(dāng) flex 取值為 none喇辽,則計(jì)算值為 0 0 auto掌挚,如下是等同的:

.item {flex: none;}

.item {

flex-grow: 0;

flex-shrink: 0;

flex-basis: auto;

}

當(dāng) flex 取值為 auto,則計(jì)算值為 1 1 auto菩咨,如下是等同的:

.item {flex: auto;}

.item {

flex-grow: 1;

flex-shrink: 1;

flex-basis: auto;

}

當(dāng) flex 取值為一個(gè)非負(fù)數(shù)字吠式,則該數(shù)字為 flex-grow 值陡厘,flex-shrink 取 1,flex-basis 取 0%特占,如下是等同的:

.item {flex: 1;}

.item {

flex-grow: 1;

flex-shrink: 1;

flex-basis: 0%;

}

當(dāng) flex 取值為一個(gè)長(zhǎng)度或百分比糙置,則視為 flex-basis 值,flex-grow 取 1是目,flex-shrink 取 1谤饭,有如下等同情況(注意 0% 是一個(gè)百分比而不是一個(gè)非負(fù)數(shù)字):

.item-1 {flex: 0%;}

.item-1 {

flex-grow: 1;

flex-shrink: 1;

flex-basis: 0%;

}

.item-2 {flex: 24px;}

.item-1 {

flex-grow: 1;

flex-shrink: 1;

flex-basis: 24px;

}

當(dāng) flex 取值為兩個(gè)非負(fù)數(shù)字,則分別視為 flex-grow 和 flex-shrink 的值懊纳,flex-basis 取 0%揉抵,如下是等同的:

.item {flex: 2 3;}

.item {

flex-grow: 2;

flex-shrink: 3;

flex-basis: 0%;

}

當(dāng) flex 取值為一個(gè)非負(fù)數(shù)字和一個(gè)長(zhǎng)度或百分比,則分別視為 flex-grow 和 flex-basis 的值嗤疯,flex-shrink 取 1冤今,如下是等同的:

.item {flex: 2333 3222px;}

.item {

flex-grow: 2333;

flex-shrink: 1;

flex-basis: 3222px;

}

flex-basis 規(guī)定的是子元素的基準(zhǔn)值。所以是否溢出的計(jì)算與此屬性息息相關(guān)茂缚。flex-basis 規(guī)定的范圍取決于 box-sizing戏罢。這里主要討論以下 flex-basis 的取值情況:

auto:首先檢索該子元素的主尺寸,如果主尺寸不為 auto脚囊,則使用值采取主尺寸之值龟糕;如果也是 auto,則使用值為 content凑术。

content:指根據(jù)該子元素的內(nèi)容自動(dòng)布局翩蘸。有的用戶代理沒有實(shí)現(xiàn)取 content 值,等效的替代方案是 flex-basis 和主尺寸都取 auto淮逊。

百分比:根據(jù)其包含塊(即伸縮父容器)的主尺寸計(jì)算催首。如果包含塊的主尺寸未定義(即父容器的主尺寸取決于子元素),則計(jì)算結(jié)果和設(shè)為 auto 一樣泄鹏。

舉一個(gè)不同的值之間的區(qū)別:

.parent {

display: flex;

width: 600px;

}

.parent > div {

height: 100px;

}

.item-1 {

width: 140px;

flex: 2 1 0%;

background: blue;

}

.item-2 {

width: 100px;

flex: 2 1 auto;

background: darkblue;

}

.item-3 {

flex: 1 1 200px;

background: lightblue;

}

主軸上父容器總尺寸為 600px

子元素的總基準(zhǔn)值是:0% + auto + 200px = 300px郎任,其中

- 0% 即 0 寬度

- auto 對(duì)應(yīng)取主尺寸即 100px

故剩余空間為 600px - 300px = 300px

伸縮放大系數(shù)之和為: 2 + 2 + 1 = 5

剩余空間分配如下:

- item-1 和 item-2 各分配 2/5,各得 120px

- item-3 分配 1/5备籽,得 60px

各項(xiàng)目最終寬度為:

- item-1 = 0% + 120px = 120px

- item-2 = auto + 120px = 220px

- item-3 = 200px + 60px = 260px

當(dāng) item-1 基準(zhǔn)值取 0% 的時(shí)候舶治,是把該項(xiàng)目視為零尺寸的,故即便聲明其尺寸為 140px车猬,也并沒有什么用霉猛,形同虛設(shè)

而 item-2 基準(zhǔn)值取 auto 的時(shí)候,根據(jù)規(guī)則基準(zhǔn)值使用值是主尺寸值即 100px珠闰,故這 100px 不會(huì)納入剩余空間

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末惜浅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子伏嗜,更是在濱河造成了極大的恐慌坛悉,老刑警劉巖伐厌,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異裸影,居然都是意外死亡挣轨,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門轩猩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來卷扮,“玉大人,你說我怎么就攤上這事均践』ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵浊猾,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我热鞍,道長(zhǎng)葫慎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任薇宠,我火速辦了婚禮偷办,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘澄港。我一直安慰自己椒涯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布回梧。 她就那樣靜靜地躺著废岂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪狱意。 梳的紋絲不亂的頭發(fā)上湖苞,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音详囤,去河邊找鬼财骨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛藏姐,可吹牛的內(nèi)容都是我干的隆箩。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼羔杨,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼捌臊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起问畅,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤娃属,失蹤者是張志新(化名)和其女友劉穎六荒,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體矾端,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掏击,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了秩铆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片砚亭。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖殴玛,靈堂內(nèi)的尸體忽然破棺而出捅膘,到底是詐尸還是另有隱情,我是刑警寧澤滚粟,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布寻仗,位于F島的核電站,受9級(jí)特大地震影響凡壤,放射性物質(zhì)發(fā)生泄漏署尤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一亚侠、第九天 我趴在偏房一處隱蔽的房頂上張望曹体。 院中可真熱鬧,春花似錦硝烂、人聲如沸箕别。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)串稀。三九已至,卻和暖如春狮杨,著一層夾襖步出監(jiān)牢的瞬間厨诸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工禾酱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留微酬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓颤陶,卻偏偏與公主長(zhǎng)得像颗管,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子滓走,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

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

  • What is Flex? Flex 是 Flexible Box 的縮寫垦江,意為"彈性布局",用來為盒狀模型提供最...
    6ed7563919d4閱讀 1,295評(píng)論 2 9
  • Flex布局是Css3中新加入的額外布局系統(tǒng)搅方。傳統(tǒng)布局基于盒模型比吭,依賴“display”绽族、“position”、“...
    饑人谷_Pizza閱讀 2,399評(píng)論 0 2
  • 前言 FlexBox是css3的一種新的布局方式衩藤,天生為解決布局問題而存在的它吧慢,比起傳統(tǒng)的布局方式,我們使用Fle...
    zevei閱讀 1,410評(píng)論 23 3
  • 在如漢女的口中介紹宋詞常識(shí)別有風(fēng)味赏表。 (詞牌检诗、長(zhǎng)短句、上下闕等) 你知道的詞牌名:十六字令瓢剿、清平樂?虞美人? 猜猜...
    難得清明閱讀 489評(píng)論 0 1
  • 其實(shí)面試的那段時(shí)間早過了…… 對(duì)逢慌,早就過了…… 只記得那時(shí)的感受,心里的觸動(dòng)间狂,實(shí)際上到底是什么攻泼,已經(jīng)都忘了。 南都...
    晨硯閱讀 141評(píng)論 0 0