flex設(shè)置成1和auto有什么區(qū)別

首先明確一點(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:23333222234px;}.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è)長度或百分比,則視為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:23;}.item{flex-grow:2;flex-shrink:3;flex-basis:0%;}

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

.item{flex:23333222px;}.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)容自動布局氏仗。有的用戶代理沒有實(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:210%;background:blue;}.item-2{width:100px;flex:21 auto;background:darkblue;}.item-3{flex:11200px;background:lightblue;}

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

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

- 0% 即 0 寬度- auto 對應(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 不會納入剩余空間

更多資料可以參考:

http://www.w3.org/html/ig/zh/css-flex-1/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末渠欺,一起剝皮案震驚了整個(gè)濱河市妹蔽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖讹开,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盅视,死亡現(xiàn)場離奇詭異,居然都是意外死亡旦万,警方通過查閱死者的電腦和手機(jī)闹击,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來成艘,“玉大人赏半,你說我怎么就攤上這事∠剑” “怎么了断箫?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長秋冰。 經(jīng)常有香客問我仲义,道長,這世上最難降的妖魔是什么剑勾? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任埃撵,我火速辦了婚禮,結(jié)果婚禮上虽另,老公的妹妹穿的比我還像新娘暂刘。我一直安慰自己,他們只是感情好捂刺,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布谣拣。 她就那樣靜靜地躺著,像睡著了一般族展。 火紅的嫁衣襯著肌膚如雪森缠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天仪缸,我揣著相機(jī)與錄音辅鲸,去河邊找鬼。 笑死腹殿,一個(gè)胖子當(dāng)著我的面吹牛独悴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锣尉,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼刻炒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了自沧?” 一聲冷哼從身側(cè)響起坟奥,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤树瞭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后爱谁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晒喷,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年访敌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凉敲。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡寺旺,死狀恐怖爷抓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情阻塑,我是刑警寧澤蓝撇,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站陈莽,受9級特大地震影響渤昌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜走搁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一独柑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧朱盐,春花似錦群嗤、人聲如沸菠隆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽骇径。三九已至躯肌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間破衔,已是汗流浹背清女。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晰筛,地道東北人嫡丙。 一個(gè)月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像读第,于是被迫代替她去往敵國和親曙博。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評論 2 345

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

  • 原文地址:https://segmentfault.com/q/1010000004080910/a-102000...
    小豆soybean閱讀 20,661評論 2 6
  • 首先明確一點(diǎn)是怜瞒, flex 是 flex-grow父泳、flex-shrink、flex-basis的縮寫。故其取值可...
    指尖的跳動閱讀 331評論 0 0
  • 前言 FlexBox是css3的一種新的布局方式惠窄,天生為解決布局問題而存在的它蒸眠,比起傳統(tǒng)的布局方式,我們使用Fle...
    zevei閱讀 1,410評論 23 3
  • H5移動端知識點(diǎn)總結(jié) 閱讀目錄 移動開發(fā)基本知識點(diǎn) calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,395評論 0 26
  • 移動開發(fā)基本知識點(diǎn) 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,453評論 0 6