flex布局

簡(jiǎn)介

flex布局(Flexible布局垫竞,彈性布局)是在開發(fā)中經(jīng)常使用的布局方式
開啟了flex布局的元素叫flex container,flex container里面的直接子元素叫做flex items
設(shè)置display屬性為flex或者inline-flex应闯,則表示為flex布局纤控,可以成為flex container

display: flex; //flex container以block-level(塊級(jí))形式存在
display:inline-flex; //flex container以inline-level(行內(nèi)塊)形式存在
官方文檔

https://www.w3.org/TR/CSS-FLEXBOX-1/
https://www.w3.org/TR/css-align-3/

常用CSS屬性-應(yīng)用在flex container上的CSS屬性
  1. flex-direction
    flex items默認(rèn)都是沿著主軸(main axis)從main start開始往main end方向排布,flex-direction決定了主軸(main axis)的方向碉纺,有4個(gè)取值 row(默認(rèn)值)船万、row-reverse刻撒、column、column-reverse
    交叉軸(cross axis)總是垂直于主軸耿导,方向?yàn)橄蛳禄蛘呦蛴?/li>
flex-direction: row; //默認(rèn)值声怔,從左向右
                        row-reverse; //從右向左
                         column;//從上向下
                         column-reverse;//從下向上
  1. justify-content
    justify-content決定了flex items在主軸(main axis)上的對(duì)齊方式,有6個(gè)取值 flex-start(默認(rèn)值)碎节、flex-end、center抵卫、space-between狮荔、space-around、space-evenly
justify-content: flex-start;//與main start對(duì)齊
flex-end;//與main end對(duì)齊
center;//居中對(duì)齊
space-between;//flex items之間的距離相等介粘,并且主軸方向兩端對(duì)齊
space-evenly;//flex items之間的距離相等殖氏,并且等于flex items與兩端之間的距離,相當(dāng)于flex items將剩余距離平分
space-around;//flex items之間的距離相等姻采,并且等于flex items與兩端之間的距離的一半
  1. align-items
    align-items決定了flex items在交叉軸上的對(duì)齊方式雅采,有5個(gè)取值stretch、flex-start慨亲、flex-end婚瓜、center、baseline
align-items:stretch;//(默認(rèn)值)當(dāng)flex items在交叉軸方向的size為auto時(shí)刑棵,會(huì)自動(dòng)拉伸填充flex container
flex-start;//與cross start(交叉軸起點(diǎn))對(duì)齊
flex-end;//與cross end(交叉軸終點(diǎn))對(duì)齊
center;//與cross axis居中對(duì)齊
baseline;//基準(zhǔn)線對(duì)齊巴刻,文字基準(zhǔn)線
  1. flex-wrap
    flex-wrap決定了flex container是單行還是多行,要不要換行蛉签,默認(rèn)為單行胡陪,有3個(gè)取值nowrap(默認(rèn))、wrap碍舍、wrap-reverse
flex-wrap: nowrap;//默認(rèn)值柠座,單行,不換行
wrap;//多行
wrap-reverse;//多行(對(duì)比wrap片橡,交叉軸start與交叉軸end相反)
  1. flex-flow
    flex-flow是flex-direction || flex wrap的簡(jiǎn)寫
flex-flow: column wrap妈经;等價(jià)于
flex-direction: column;
flex-wrap: wrap;
//從上到下排列,并且多行顯示
  1. align-content
    align-content決定多行flex items在交叉軸上的對(duì)齊方式捧书,用法與justify-content類似狂塘,有7個(gè)取值stretch(默認(rèn)值)、 flex-start鳄厌、flex-end荞胡、center、space-between了嚎、space-around泪漂、space-evenly
align-content:stretch;//(默認(rèn)值)當(dāng)flex items在交叉軸方向的size為auto時(shí)廊营,會(huì)自動(dòng)拉伸填充flex container
 flex-start;//與cross start對(duì)齊
flex-end;//與cross end對(duì)齊
center;//居中對(duì)齊
space-between;//flex items之間的距離相等,并且交叉軸方向兩端對(duì)齊
space-evenly;//flex items之間的距離相等萝勤,并且等于flex items與兩端之間的距離露筒,相當(dāng)于flex items將剩余距離平分
space-around;//flex items之間的距離相等,并且等于flex items與兩端之間的距離的一半
常用CSS屬性-應(yīng)用在flex items上的CSS屬性
  1. order
    order決定了flex items的排布順序敌卓,可以設(shè)置任意整數(shù)(正整數(shù)慎式、負(fù)整數(shù)、0)趟径,值越小就越排在前面瘪吏,默認(rèn)值為0
  2. align-self
    flex-items可以根據(jù)align-self覆蓋flex container設(shè)置的align-items,有6個(gè)取值auto(默認(rèn)值)蜗巧、stretch掌眠、flex-start、flex-end幕屹、center蓝丙、baseline
align-self:auto;//默認(rèn)值,遵從flex container的align-items的設(shè)置
其他五個(gè)值效果參考align-items望拖,效果一致
  1. flex-grow
    flex-grow決定了flex items如何擴(kuò)展渺尘,可以設(shè)置任意非負(fù)數(shù)字(正小數(shù)、正整數(shù)说敏、0)沧烈,默認(rèn)值是0,
    需要注意的是:
  • 當(dāng)flex container在主軸(main axis)方向上有剩余size時(shí)像云,flex-grow屬性才會(huì)有效
  • 如果所有flex items 的flex-grow總和sum超過1锌雀,每個(gè)flex item 擴(kuò)展的size為 剩余size*flex-grow / sum
  • 如果所有flex items 的flex-grow總和sum不超過1,每個(gè)flex item 擴(kuò)展的size為 剩余size*flex-grow
  • flex items擴(kuò)展后的最終size不能超過設(shè)置的max-width/max-height
  1. flex-shrink
    flex-shrink 決定了 flex items 如何收縮 迅诬,可以設(shè)置任意非負(fù)數(shù)字(正小數(shù)腋逆、正整數(shù)、0)侈贷,默認(rèn)值是 1
    需要注意:
  • 當(dāng) flex items 在 main axis 方向上超過了 flex container 的 size惩歉,flex-shrink 屬性才會(huì)有效
  • 如果所有 flex items 的 flex-shrink 總和超過 1,每個(gè) flex item 收縮的 size為 flex items 超出 flex container 的 size * 收縮比例 / 所有 flex items 的收縮比例之和
  • 如果所有 flex items 的 flex-shrink 總和 sum 不超過 1俏蛮,每個(gè) flex item 收縮的 size為 ?flex items 超出 flex container 的 size * sum * 收縮比例 / 所有 flex items 的收縮比例之和
  • 收縮比例 = flex-shrink * flex item 的 base size 撑蚌,base size 就是 flex item 放入 flex container 之前的 size
  • flex items 收縮后的最終 size 不能小于 min-width\min-height
  1. flex-basis
    flex-basis 用來設(shè)置 flex items 在 main axis 方向上的 base size 有2個(gè)取值:auto(默認(rèn)值)、content:取決于內(nèi)容本身的 size
  • 決定 flex items 最終 base size 的因素搏屑,從優(yōu)先級(jí)高到低 max-width\max-height\min-width\min-height > flex-basis >width\height>內(nèi)容本身的 size
  1. flex
    flex是flex-grow flex-shrink争涌?|| flex-basis的簡(jiǎn)寫
flex: 0 1 auto;//默認(rèn)值  本身的值
none;//0 0 auto  不顯示

此篇文章參考小碼哥flex布局,特此感謝辣恋!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末亮垫,一起剝皮案震驚了整個(gè)濱河市模软,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌饮潦,老刑警劉巖燃异,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異继蜡,居然都是意外死亡回俐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門稀并,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仅颇,“玉大人,你說我怎么就攤上這事稻轨×榱” “怎么了雕凹?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵殴俱,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我枚抵,道長(zhǎng)线欲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任汽摹,我火速辦了婚禮李丰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘逼泣。我一直安慰自己趴泌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布拉庶。 她就那樣靜靜地躺著嗜憔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪氏仗。 梳的紋絲不亂的頭發(fā)上吉捶,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音皆尔,去河邊找鬼呐舔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛慷蠕,可吹牛的內(nèi)容都是我干的珊拼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼流炕,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼杆麸!你這毒婦竟也來了搁进?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤昔头,失蹤者是張志新(化名)和其女友劉穎饼问,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揭斧,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡莱革,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了讹开。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盅视。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖旦万,靈堂內(nèi)的尸體忽然破棺而出闹击,到底是詐尸還是另有隱情,我是刑警寧澤成艘,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布赏半,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜破婆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一廷没、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽虽另。三九已至暂刘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間洲赵,已是汗流浹背鸳惯。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叠萍,地道東北人芝发。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像苛谷,于是被迫代替她去往敵國和親辅鲸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

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

  • 一腹殿、簡(jiǎn)介 1.1独悴、flex 布局 (Flexible布局例书,彈性布局)是在小程序里面常用的布局方式官方文檔:flex...
    IIronMan閱讀 546評(píng)論 0 2
  • flex 布局 Flex 是 Flexible Box 的縮寫,意為"彈性布局"刻炒,用來為盒狀模型提供最大的靈活性决采。...
    開了那么閱讀 385評(píng)論 0 1
  • 學(xué)會(huì) Flex 布局 因?yàn)樗趾?jiǎn)單靈活,區(qū)區(qū)簡(jiǎn)單幾行代碼就可以實(shí)現(xiàn)各種頁面的的布局坟奥,以前我在學(xué)習(xí)頁面布局的時(shí)候我...
    V_cc857233閱讀 233評(píng)論 0 0
  • 文章目錄0. 前言1. 基礎(chǔ)概念2. 容器屬性(父屬性:Properties for the Parent)2.1...
    游云deb閱讀 1,629評(píng)論 0 1
  • 采油三廠輸油工作輸出高效路2018/8/20 6:55 頁面內(nèi)容? 2018年树瞭,采油三廠針對(duì)1801條投收球管線...
    北方的海洋閱讀 152評(píng)論 0 0