CSS布局

Flex彈性布局

參考:Flex 布局教程:語法篇


傳統(tǒng)解決方案:盒裝模型魂那。
使用:display奇钞、position忽刽、float等鲜侥。
缺點:不易實現(xiàn)垂直居中等特殊需求褂始。


新解決方案:Flex布局。用來為盒狀模型提供最大的靈活性描函。
display:flex; display:inline-flex(行內(nèi)元素使用);
設(shè)為flex后崎苗,會形成flex容器狐粱,所有子元素變?yōu)槿萜髦械捻椖俊S嘘P(guān)容器的所有專有名詞參見參考文章胆数。

容器有6個屬性可設(shè)置:
  • flex-direction
    決定主軸方向肌蜻。
flex-direction: 
row(主軸為水平,起點在左) 
row-reverse (主軸為水平必尼,起點在右)
column(主軸為垂直蒋搜,起點在上) 
column-reverse(主軸為垂直,起點在下);
  • flex-wrap
    元素超過一行時判莉,決定如何換行豆挽。
flex-wrap: 
nowrap(默認,不換行)
wrap(換行券盅,第一行在上方)
wrap-reverse(換行帮哈,第一行在下方);
  • flex-flow
    是flex-direction和flex-wrap的簡寫形式。
 flex-flow: <flex-direction> || <flex-wrap>;
  • justify-content
    項目在主軸上的對齊方式渗饮。
justify-content: 
flex-start(默認但汞,左對齊)
flex-end (右對齊)
center(居中)
space-between(兩端對齊,間隔相等互站,首末無間隔)
space-around(每個項目兩端間隔相等,首末有間隔);
  • align-items
    決定交叉軸的對齊方式僵缺。
align-items: 
flex-start(交叉軸起點對齊胡桃,上對齊)
flex-end(下對齊)
center (中點對齊)
baseline (項目的第一行文字的基線對齊)
stretch(默認,如果未設(shè)置高度或設(shè)為auto磕潮,將占滿整個容器高度);
  • align-content
    決定多根軸線的對齊方式翠胰。
align-content: 
flex-start (交叉軸起點對齊)
flex-end (交叉軸終點對齊)
center (交叉軸中點對齊)
space-between (交叉軸兩端對齊,軸線之間間隔平均分布)
space-around (每根軸線兩側(cè)間隔都相等)
stretch(默認自脯,軸線占滿整個交叉軸);
項目6個屬性可以設(shè)置:
  • order
    項目排列順序之景。數(shù)值越小,排列越靠前膏潮,默認值為0.
order: <integer>;
  • flex-grow
    項目的放大比例锻狗,默認為0(及時存在剩余空間,也不放大)焕参。類似antd的<Col span={number}/>轻纪,只不過此處為比值。
 flex-grow: <number>; 
  • flex-shrink
    定義項目縮小比例叠纷。默認為1(空間不足刻帚,該項目將縮小)涩嚣。設(shè)為0的項目不縮小崇众。
 flex-shrink: <number>; 
  • flex-basis
    分配多余空間之前掂僵,項目占據(jù)的主軸控件。默認為auto顷歌。
 flex-basis: <length> | auto; 
  • flex
    是flex-grow看峻、flex-shrink、flex-basis的簡寫衙吩。默認0 1 auto互妓。
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]

該屬性有兩個快捷值:auto (1 1 auto)none (0 0 auto)

建議優(yōu)先使用這個屬性坤塞,而不是單獨寫三個分離的屬性冯勉,因為瀏覽器會推算相關(guān)值。

  • align-self
    允許單個項目有不一樣的對齊方式摹芙,可覆蓋anlign-items屬性灼狰。默認為auto,表示集成父元素屬性浮禾,如沒有父元素交胚,等于stretch。
align-self: auto | flex-start | flex-end | center | baseline | stretch;
居中
  • 利用彈性布局
    找到需要設(shè)置對齊的元素的父元素盈电,為其設(shè)置彈性布局:
    display: flex;
    justify-content: center; // 水平居中
    align-items: center; // 垂直居中
  • 垂直居中
    CSS3的transform屬性也可以實現(xiàn)這個功能蝴簇,通過設(shè)置div的transform: translateY(-50%),意思是使得div向上平移(translate)自身高度的一半(50%)匆帚。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末熬词,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吸重,更是在濱河造成了極大的恐慌互拾,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚎幸,死亡現(xiàn)場離奇詭異颜矿,居然都是意外死亡,警方通過查閱死者的電腦和手機嫉晶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門骑疆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人车遂,你說我怎么就攤上這事封断。” “怎么了舶担?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵坡疼,是天一觀的道長。 經(jīng)常有香客問我衣陶,道長柄瑰,這世上最難降的妖魔是什么闸氮? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮教沾,結(jié)果婚禮上蒲跨,老公的妹妹穿的比我還像新娘。我一直安慰自己授翻,他們只是感情好或悲,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著堪唐,像睡著了一般巡语。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上淮菠,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天男公,我揣著相機與錄音,去河邊找鬼合陵。 笑死枢赔,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的拥知。 我是一名探鬼主播踏拜,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼举庶!你這毒婦竟也來了执隧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤户侥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后峦嗤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蕊唐,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年烁设,在試婚紗的時候發(fā)現(xiàn)自己被綠了替梨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡装黑,死狀恐怖副瀑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恋谭,我是刑警寧澤糠睡,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站疚颊,受9級特大地震影響狈孔,放射性物質(zhì)發(fā)生泄漏信认。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一均抽、第九天 我趴在偏房一處隱蔽的房頂上張望嫁赏。 院中可真熱鬧,春花似錦油挥、人聲如沸潦蝇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽攘乒。三九已至,卻和暖如春翩迈,著一層夾襖步出監(jiān)牢的瞬間持灰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工负饲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留堤魁,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓返十,卻偏偏與公主長得像妥泉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子洞坑,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

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

  • 概述 position屬性 position屬性列表 absolute 屬性 fixed 屬性 relative屬...
    充滿活力的早晨閱讀 748評論 0 0
  • 目錄一. CSS布局二. Flex布局?1. 容器(父視圖)的屬性?2. item(子視圖)的屬性三. 幾個小練習...
    意一ineyee閱讀 2,413評論 0 7
  • 一般而言盲链,一個靜態(tài)web頁面的呈現(xiàn)需要通過html和css配合實現(xiàn)。html相當于頁面的骨架迟杂,規(guī)定了文檔的結(jié)構(gòu)刽沾。c...
    夏木與晴空閱讀 1,068評論 0 3
  • 采用Flex布局的元素,稱為Flex容器(flex container)排拷,簡稱”容器”侧漓。它的所有子元素自動成為容器...
    codeTao閱讀 604評論 0 0
  • 彈性盒子是一種新技術(shù),但在如今各個瀏覽器都廣泛支持的情況下监氢,它已經(jīng)開始準備廣泛應(yīng)用了布蔗。 彈性盒子提供了工具,允許快...
    codeTao閱讀 857評論 0 0