css3 flex布局

Flexbox的布局是一個用于頁面布局的全新CSS3模塊功能,它可以把列表放在同一個方向(從左到右;flex-flow: row;或從上到下排列flex-flow: column;)窿给,并且讓這些列表能延伸到占用可用的空間环肘。較為復(fù)雜的布局可以通過嵌套一個伸縮容器(flex container)來輔助實現(xiàn)若河。

Flexbox可以簡單快速的創(chuàng)建一個具有彈性功能的布局,當在一個小屏幕上顯示的時候剿另,F(xiàn)lexbox可以讓元素在容器(伸縮容器)中進行自由擴展和收縮,從而容易調(diào)整整個布局锹引。它的目的是實現(xiàn)常見的布局模式系任,比如說三列布局,可以非常簡單的實現(xiàn)步氏。

伸縮容器(flex containers)和伸縮項目(flex items)


伸縮容器的設(shè)置為display:flex;

伸縮容器中的所有子元素都是伸縮項目响禽;

伸縮方向和換行

伸縮容器中的flex-flow來決定伸縮的布局方式,值為row荚醒,伸縮項目由左向右排列芋类,值為column,項目由上向下排列界阁。


一個伸縮容器中的所有伸縮項目既可以排列在單行也可以多行排列侯繁。這個主要由“flex-flow”是否設(shè)置為“wrap”來決定。如果伸縮容器設(shè)了“wrap”屬性值泡躯,當伸縮項目在伸縮容器中無法在一行中顯示的時候會另起一行排列贮竟。

如果伸縮容器把“flex-flow”設(shè)置為“row”后,伸縮項目將需要設(shè)置他們的寬度较剃。伸縮項目的高度將會自動設(shè)置為伸縮容器的高度咕别。

有關(guān)于flex-direction詳細

flex-direction屬性可以用來設(shè)定伸縮容器的主軸的方向,這也決定了用戶代理配置伸縮項目的方向写穴。主要適用于伸縮容器惰拱,主要包括以下幾個值:

row:flex-direction的默認值,表示伸縮容器的主軸與當前書寫模式的行內(nèi)軸(文字布局的主要主向)啊送。主軸起點與主軸終點方向分別等同于當前書寫模式的始與結(jié)方向偿短。

row-reverse:表示的是除了主軸起點與主軸終點方向交換以外同row屬性值的作用。

column:表示的是伸縮容器的主軸與當前書寫模式的塊軸(塊布局的主要方向)同向删掀。主軸起點與主軸終點方向分別等同于當前書寫模式的前與后方向。簡單的可以理解為列布局导街。

column-reverse:表示的是除了主軸起點與主軸終點方向交換以外同“column”的屬性值作用披泪。

關(guān)于flex-wrap詳細

flex-wrap屬性主要用來控制伸縮容器是單行還是多行,也決定了側(cè)軸方向一新的一行的堆放方向搬瑰。主要適用于伸縮容器款票,主要包括以下幾個值:

nowrap:flex-wrap的默認值控硼,表示的是伸縮容器為單行。側(cè)軸起點方向等同于當前書寫模式的起點或前/頭在側(cè)軸的那一邊艾少,而側(cè)軸終點方向是側(cè)軸起點的相反方向卡乾。

wrap:表示的是伸縮容器為多行。側(cè)軸起點方向等同于當前書寫模式的起瞇或前/頭在側(cè)軸的那一邊缚够,而側(cè)軸終點方向是側(cè)軸起點的相反方向幔妨。

wrap-reverse:除了側(cè)軸起點與側(cè)軸終點方向交換以外同wrap所起作用相同。

justify-content參數(shù)詳解

flex-start:伸縮項目向一行的起始位置靠齊谍椅。該行的第一個伸縮項目在主軸起點邊的外邊距與該行在主軸起點的邊對齊误堡,同時所有后續(xù)的伸縮項目與其前一個項目對齊。

flex-end:伸縮項目向一行的結(jié)束位置靠齊雏吭。該行的最后一個伸縮項目在主軸終點邊的外邊距與該行在主軸終點的邊對齊锁施,同時所有前面的伸縮項目與其后一個項目對齊。

center:伸縮項目向一行的中間位置靠齊杖们。該行的伸縮項目將相互對齊并在行中居中對齊悉抵,同時第一個項目與該行的在主軸起點的邊的距離等同與最后一個項目與該行在主軸終點的邊的距離(如果剩余空間是負數(shù),則保持兩端溢出的長度相等)摘完。

space-between伸縮項目會平均地分布在一行里姥饰。如果剩余空間是負數(shù),或該行只有一個伸縮項目描焰,則此值等效于「flex-start」媳否。在其它情況下,第一個項目在主軸起點邊的外邊距會與該行在主軸起點的邊對齊荆秦,同時最后一個項目在主軸終點邊的外邊距與該行在主軸終點的邊對齊篱竭,而剩下的伸縮項目在確保兩兩之間的空白空間相等下平均分布。

改變元素布局的順序

傳統(tǒng)上不改變元素的結(jié)構(gòu)要改變元素的布局順序一直是一個痛苦的事情步绸。不過在Flexbox中掺逼,你可以通過“order”屬性來修改伸縮項目的布局順序(在不調(diào)整結(jié)構(gòu)前提之下)。這個屬性一直接受的整數(shù)值——稱為系數(shù)集——也稱為排序組瓤介,會出現(xiàn)在伸縮項目中吕喘。默認情況之下,所有的伸縮項目的順序組都是“0”刑桑。我們可以很容易的給每個伸縮項目設(shè)置不同的順序值氯质。更高的值會排在后面,而原來的HTML結(jié)構(gòu)并不會有任何變化祠斧。并且order可以取負值闻察。

簡單例子

這是一個很簡單的實例,F(xiàn)lexbox創(chuàng)建了一個經(jīng)典的三列布局。主內(nèi)容寬度為60%辕漂,而邊欄是使用“flex”屬性呢灶,按比例自動根據(jù)伸縮容器剩余空間計算得到對應(yīng)的寬度,右邊始終是左邊的2倍寬度。

html

<div class="container>

? ? ? ?<nav class="left"></nav>

? ? ? ?<div class="main"></div>

? ? ?<div class="right"></div>

</div>

CSS

.container {

display: flex;

flex-flow: row;

}

.main {

width: 60%;

}

.left {

flex: 1;

}

.right {

flex: 2;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末钉嘹,一起剝皮案震驚了整個濱河市鸯乃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌跋涣,老刑警劉巖缨睡,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異仆潮,居然都是意外死亡宏蛉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門性置,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拾并,“玉大人,你說我怎么就攤上這事鹏浅⌒嵋澹” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵隐砸,是天一觀的道長之碗。 經(jīng)常有香客問我,道長季希,這世上最難降的妖魔是什么褪那? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮式塌,結(jié)果婚禮上博敬,老公的妹妹穿的比我還像新娘。我一直安慰自己峰尝,他們只是感情好偏窝,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著武学,像睡著了一般祭往。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上火窒,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天硼补,我揣著相機與錄音,去河邊找鬼熏矿。 笑死已骇,一個胖子當著我的面吹牛缆八,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播疾捍,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼栏妖!你這毒婦竟也來了乱豆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤吊趾,失蹤者是張志新(化名)和其女友劉穎宛裕,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體论泛,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡揩尸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了屁奏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片岩榆。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖坟瓢,靈堂內(nèi)的尸體忽然破棺而出勇边,到底是詐尸還是另有隱情,我是刑警寧澤折联,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布粒褒,位于F島的核電站,受9級特大地震影響诚镰,放射性物質(zhì)發(fā)生泄漏奕坟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一清笨、第九天 我趴在偏房一處隱蔽的房頂上張望月杉。 院中可真熱鬧,春花似錦函筋、人聲如沸沙合。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽首懈。三九已至,卻和暖如春谨敛,著一層夾襖步出監(jiān)牢的瞬間究履,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工脸狸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留最仑,地道東北人藐俺。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像泥彤,于是被迫代替她去往敵國和親欲芹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

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

  • Flex布局 布局的傳統(tǒng)方案是基于盒模型,依賴display屬性+float屬性+position屬性.但是對于那...
    我擁抱著我的未來閱讀 1,415評論 0 4
  • flex布局基礎(chǔ)知識 main axis(主軸): Flex容器的主軸主要用來配置Flex項目吟吝。它不一定是水平菱父,這...
    前端小兵閱讀 496評論 0 1
  • flex 布局是 css3 中使用最頻繁也是最出色的功能,有點復(fù)雜剑逃,分為應(yīng)用在容器上的屬性和項目上的屬性浙宜,即父元素...
    rayman_v閱讀 892評論 1 4
  • 一般而言,一個靜態(tài)web頁面的呈現(xiàn)需要通過html和css配合實現(xiàn)蛹磺。html相當于頁面的骨架粟瞬,規(guī)定了文檔的結(jié)構(gòu)。c...
    夏木與晴空閱讀 1,072評論 0 3
  • 移動開發(fā)基本知識點 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,483評論 0 6