flex布局(四) : 設(shè)置item上的屬性

1.order 決定item的排布順序

設(shè)置整數(shù)皇钞,數(shù)值越小排在越前面
默認(rèn)值為0

<style>
.item1{
    order: 3;
}
.item2{
    order: 2;
}
.item3{
    order: 1;
}
</style>

order.png

2.align-self 決定單個(gè)item在交叉軸上的對(duì)齊方式

覆蓋container設(shè)置的aligh-items,且效果相同
同樣包含stretch、flex-start、center囱修、flex-end梭依、baseline屬性

<style>
.container{
    align-items: center;
}
.item2{
    align-self: flex-start;
}
</style>

align_self.png

3.flex-grow 決定items如何擴(kuò)展

  • 可以設(shè)置正小數(shù)、正整數(shù)江解,默認(rèn)值是0
  • 只有當(dāng)container在主軸上有剩余容量寬度時(shí)忙迁,flex-grow才會(huì)有效
  • flex-grow決定的是擴(kuò)展的寬度,而不是item的最終寬度碎乃,因此正常情況下不通過(guò)flex-grow來(lái)控制item的寬度
  • 由于使用flex-grow會(huì)導(dǎo)致的item的寬度不可控姊扔,一般用在自適應(yīng)寬度的元素上。比如兩欄布局梅誓、三欄布局
  • 固定寬度的元素恰梢,不建議設(shè)置flex-grow

1.當(dāng)flex-grow總和超過(guò)1佛南,每個(gè)item擴(kuò)展的size等于 container剩余容量 / items的flex-grow總和 * item自己的flex-grow

  • 案例:容器寬度500,item寬度均為50嵌言。擴(kuò)展的size = 350 / (1+2+3) * item自身的flex-grow
<style>
.item1{
    flex-grow: 1;
}
.item2{
    flex-grow: 2;
}
.item3{
    flex-grow: 3;
}
</style>
grow1.png

2.當(dāng)flex-grow總和小于1嗅回,每個(gè)item擴(kuò)展的size等于 container剩余容量 * item自己的flex-grow

  • 案例:容器寬度500,item寬度均為50摧茴。 擴(kuò)展的size = 350 * item自身的flex-grow
<style>
.item1{
    flex-grow: .2;
}
.item2{
    flex-grow: .2;
}
.item3{
    flex-grow: .2;
}
</style>
grow2.png

3.實(shí)際應(yīng)用绵载,三欄布局,兩邊寬度固定苛白,中間自適應(yīng)


<style>
.container{
    width: 700px;
    height: 400px;
    border: 1px solid #000;

    /* flex布局的排列方式 */
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
}
.item{
    
    color: #fff;
    text-align: center;
    font-size: 18px;
}
.item1{
    width: 80px;
    flex-grow: 0;
}
.item2{
    flex-grow: 1;
}
.item3{
    width: 100px;
    flex-grow: 0;
}
</style>

<body>
    <div class="container">
        <div class="item item1" style="background: #f00;">固定寬度80</div>
        <div class="item item2" style="background: #0f0;">中間寬度自適應(yīng),撐滿容器container</div>
        <div class="item item3" style="background: #00f;">固定寬度100</div>
    </div>
</body>

grow3.png

4.flex-shrink 決定items如何收縮

  • 可以設(shè)置正小數(shù)娃豹、正整數(shù),默認(rèn)值是1
  • 只有當(dāng)items的總寬度超過(guò)container的寬度時(shí)购裙,才會(huì)有效懂版。且默認(rèn)收縮至等于container的寬度
  • 收縮計(jì)算方式和grow相同,但是最終收縮的寬度不能小于item的文本寬度和最小寬度
  • 正常開(kāi)發(fā)情況下一般讓grow的值等于shrink躏率,使item的寬度自適應(yīng)擴(kuò)展和收縮
<style>
.item1{
    flex-shrink: 1;
}
.item2{
    flex-shrink: 3;
}
.item3{
    flex-shrink: 2;  
}
</style>

shrink.png

5.flex-basis 設(shè)置item在主軸上的大小

  • 默認(rèn)值為auto
  • 優(yōu)先級(jí)大星搿:max-width > flex-basis > widht > 內(nèi)容本身size
  • 會(huì)覆蓋設(shè)置在item上的width屬性
<style>
.item1{
    flex-basis: 100px;
}
.item2{
    flex-basis: 200px;
}
.item3{
    flex-basis: 300px;  
}
</style>
basis.png

6.flex 復(fù)合簡(jiǎn)寫屬性

  • flex 是 flex-grom || flex-shrink || flex-basis的簡(jiǎn)寫復(fù)合屬性,可以指定1個(gè)薇芝、2個(gè)蓬抄、3個(gè)值。
  • 但是為了養(yǎng)成良好的代碼風(fēng)格恩掷,通常指定三個(gè)值
  • 第一個(gè)值是flex-grow倡鲸,第二個(gè)值是flex-shrink,第三個(gè)值是flex-basis
  • 固定寬度的item設(shè)置 flex : 0 0 100px
  • 自適應(yīng)寬度的item設(shè)置 flex : 1 1 auto

案例:三欄布局黄娘,中間自適應(yīng)

<style>
.container{
    width: 600px;
    height: 400px;
    border: 1px solid #000;

    /* flex布局的排列方式 */
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
}
.item{
    color: #fff;
    text-align: center;
    font-size: 18px;
}

.item1{
    flex: 0 0 80px;
}
.item2{
    flex: 1 1 auto;
}
.item3{
    flex: 0 0 100px; 
}
</style>

<body>
    <div class="container">
        <div class="item item1" style="background: #f00;">寬度80</div>
        <div class="item item2" style="background: #0f0;">中間自適應(yīng)</div>
        <div class="item item3" style="background: #00f;">寬度100</div>
    </div>
</body>
flex6.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末峭状,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子逼争,更是在濱河造成了極大的恐慌优床,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件誓焦,死亡現(xiàn)場(chǎng)離奇詭異胆敞,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)杂伟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門移层,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人赫粥,你說(shuō)我怎么就攤上這事观话。” “怎么了越平?”我有些...
    開(kāi)封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵频蛔,是天一觀的道長(zhǎng)灵迫。 經(jīng)常有香客問(wèn)我,道長(zhǎng)晦溪,這世上最難降的妖魔是什么瀑粥? 我笑而不...
    開(kāi)封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮三圆,結(jié)果婚禮上狞换,老公的妹妹穿的比我還像新娘。我一直安慰自己嫌术,他們只是感情好哀澈,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著度气,像睡著了一般割按。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上磷籍,一...
    開(kāi)封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天适荣,我揣著相機(jī)與錄音,去河邊找鬼院领。 笑死弛矛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的比然。 我是一名探鬼主播丈氓,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼强法!你這毒婦竟也來(lái)了万俗?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤饮怯,失蹤者是張志新(化名)和其女友劉穎闰歪,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蓖墅,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡库倘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了论矾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片教翩。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖贪壳,靈堂內(nèi)的尸體忽然破棺而出饱亿,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布路捧,位于F島的核電站,受9級(jí)特大地震影響传黄,放射性物質(zhì)發(fā)生泄漏杰扫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一膘掰、第九天 我趴在偏房一處隱蔽的房頂上張望章姓。 院中可真熱鬧,春花似錦识埋、人聲如沸凡伊。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)系忙。三九已至,卻和暖如春惠豺,著一層夾襖步出監(jiān)牢的瞬間银还,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工洁墙, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蛹疯,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓热监,卻偏偏與公主長(zhǎng)得像捺弦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子孝扛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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

  • 一列吼、簡(jiǎn)介 1.1、flex 布局 (Flexible布局疗琉,彈性布局)是在小程序里面常用的布局方式官方文檔:flex...
    IIronMan閱讀 535評(píng)論 0 2
  • flex 布局 Flex 是 Flexible Box 的縮寫冈欢,意為"彈性布局",用來(lái)為盒狀模型提供最大的靈活性盈简。...
    開(kāi)了那么閱讀 378評(píng)論 0 1
  • 前言 FlexBox是css3的一種新的布局方式凑耻,天生為解決布局問(wèn)題而存在的它,比起傳統(tǒng)的布局方式柠贤,我們使用Fle...
    zevei閱讀 1,414評(píng)論 23 3
  • 此文由elson發(fā)表于Elson's web 零香浩、前言 目前在不考慮IE以及低端安卓機(jī)(4.3-)的兼容下,已經(jīng)可...
    小懶惰的豬閱讀 4,275評(píng)論 5 87
  • Flex布局 display: flex; 將對(duì)象作為彈性伸縮盒展示臼勉,用于塊級(jí)元素 display: inline...
    白雪公主960閱讀 772評(píng)論 1 1