詳解CSS中的flex布局

flex布局又稱為彈性布局,任何一個容器都可以指定為flex布局
聲明彈性盒子的幾種方式
就像前面說的,所有容器都可以指定為flex布局
.box{ display:flex;}
行內(nèi)元素也可以使用:
display:inline-flex;
改變彈性元素的方向
彈性盒子默認是從左到右的方向,此時的軸是水平方向的, flex-direction
默認屬性為 row
.box{ display:flex;}
可以通過修改 flex-direction
屬性來改變排列方向,也就是把軸變?yōu)榇怪狈较?/p>
.box{ display:flex; flex-deriction:column;}
還可以反轉(zhuǎn),把屬性修改為 column-reverse
, row-reverse
同理
控制彈性盒子溢出問題
如果盒子里面的元素特別多,水平寬度或者高度不夠時,默認的情況是會縮小盒內(nèi)元素寬度
我們在這里可以通過換行來解決
在盒子加上 flex-wrap
,可以實現(xiàn)溢出部分往下?lián)Q行
同樣在wrap屬性后面加reverse,可以達到從下網(wǎng)上換行的效果
水平垂直的軸也是同理。
我們也可以通過 flex-flow
同時設(shè)置軸的方向和是否換行
主軸與交叉軸
話不多說,直接看圖:
當寬度不夠元素溢出導(dǎo)致?lián)Q行時,會有一個交叉軸:
當屬性為 flex-idrection:column
時,主軸為垂直方向,交叉軸與主軸垂直
主軸的排列方式
控制主軸的屬性為 justify-content
下面以水平方向為例
一、整體靠一邊
默認的方式是在主軸上從左到右,對齊到開始,也就是 justify-content:flex-start
如果是對齊到結(jié)束,則是 justify-content:flex-end
如果主軸反轉(zhuǎn),從右到左,則開始在右邊,結(jié)束在左邊
二、整體居中:justify-content:center
三、左右靠邊,中間居中:justify-content:space-between
四、元素左右兩邊有相同間距:justify-content:space-around
五、平均分配:justify-content:space-evenly
交叉軸的排列方式
控制交叉抽的屬性為 align-centent
一、整體靠一邊
與主軸類似, flex-start
為交叉軸開始, flex-end
為交叉軸尾部
二、整體居中:align-content:center
三、交叉軸首尾靠邊,其他元素間隔平均分布:justify-content:space-between
四、交叉軸元素上下間距相同:justify-content:space-around
五、交叉軸元素間距平均::justify-content:space-evenly
控制彈性盒子內(nèi)的單獨元素
一、align-self
通過 align-self
屬性,可以控制單獨元素,類似于對主軸整體的控制
二、元素可用空間分配:flex-grow
flex-grow
屬性指子元素分配到父級盒子的占比
如都是1的時候:
也可以是其他占比,如果為0則為原大小
元素動態(tài)縮小
元素動態(tài)縮小使用 flex-shrink
屬性控制。當你內(nèi)部元素總寬度大于外部元素寬度,又不適用 wrap
讓其換行,則可以使用flex-shrink控制內(nèi)部元素縮放。
0表示不縮放,數(shù)值越大,縮小成都越大
主軸的基準尺寸flex-basis
設(shè)置盒子內(nèi)部元素的基準尺寸 flex-basis
,優(yōu)先級大于css設(shè)置他的寬高
彈性元素屬性組合寫法
flex-grow:1; flex-shrink:2; flex-basis:100px;
等同于
flex:1 2 100px;
總結(jié)
到此這篇關(guān)于詳解CSS中的flex布局的文章就介紹到這了,更多相關(guān)CSS flex布局內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
- Flexbox布局模塊旨在提供一個更有效的方式,在一個容器里面去布局分配空間。這篇文章給大家介紹CSS3中的Flex布局,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或2020-04-27
CSS實現(xiàn)動態(tài)圖片的九宮格布局的實例代碼
這篇文章主要介紹了CSS實現(xiàn)動態(tài)圖片的九宮格布局的實例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-03css之display屬性之inline-block布局實現(xiàn)詳解
今天學習css樣式的時候發(fā)現(xiàn)很多網(wǎng)站都是用css的display:inline-block這個屬性,這里剛好有篇特別好的解釋,特分享一下2020-03-21- 這篇文章主要介紹了css用Flex布局制作簡易柱狀圖的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起2020-03-17
使用CSS和Java來構(gòu)建管理儀表盤布局的實例代碼
這篇文章主要介紹了使用CSS和Java來構(gòu)建管理儀表盤布局的實例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考2020-06-24