Flex 是 Flexible Box 的縮寫(xiě)轻庆,意為"彈性布局"宴合,用來(lái)為盒狀模型提供最大的靈活性瞎饲。
任何一個(gè)容器都可以指定為 Flex 布局
基本概念:
采用 Flex 布局的元素值漫,稱為 Flex 容器(flex container),簡(jiǎn)稱"容器"晚唇。它的所有子元素自動(dòng)成為容器成員,稱為 Flex 項(xiàng)目(flex item)盗似,簡(jiǎn)稱"項(xiàng)目"哩陕。
- flexDirection
- 屬性決定主軸的方向(即項(xiàng)目的排列方向)
flexDirection: row | row-reverse | column | column-reverse;
row(默認(rèn)值):主軸為水平方向,起點(diǎn)在左端赫舒。
row-reverse:主軸為水平方向悍及,起點(diǎn)在右端。
column:主軸為垂直方向接癌,起點(diǎn)在上沿心赶。
column-reverse:主軸為垂直方向,起點(diǎn)在下沿缺猛。
- flexWrap
- 默認(rèn)情況下缨叫,項(xiàng)目都排在一條線(又稱"軸線")上椭符。flex-wrap屬性定義,如果一條軸線排不下耻姥,如何換行销钝。
flexWrap: nowrap | wrap | wrap-reverse;
```
1.nowrap(默認(rèn)):不換行。
2.wrap:換行琐簇,第一行在上方蒸健。
3.wrap-reverse:換行,第一行在下方婉商。
* flexFlow
* flex-flow屬性是flexDirection屬性和flexWrap屬性的簡(jiǎn)寫(xiě)形式似忧,默認(rèn)值為row nowrap。
<flex-direction> || <flex-wrap>;
* justifyContent
* justifyContent屬性定義了項(xiàng)目在主軸上的對(duì)齊方式丈秩。
justifyContent: flex-start | flex-end | center | space-between | space-around;
flex-start(默認(rèn)值):左對(duì)齊
flex-end:右對(duì)齊
center: 居中
space-between:兩端對(duì)齊盯捌,項(xiàng)目之間的間隔都相等。
space-around:每個(gè)項(xiàng)目?jī)蓚?cè)的間隔相等癣籽。所以挽唉,項(xiàng)目之間的間隔比項(xiàng)目與邊框的間隔大一倍。
* alignItems
* alignItems屬性定義項(xiàng)目在交叉軸上如何對(duì)齊筷狼。
alignItems: flex-start | flex-end | center | baseline | stretch;
flex-start:交叉軸的起點(diǎn)對(duì)齊瓶籽。
flex-end:交叉軸的終點(diǎn)對(duì)齊。
center:交叉軸的中點(diǎn)對(duì)齊埂材。
baseline: 項(xiàng)目的第一行文字的基線對(duì)齊塑顺。
stretch(默認(rèn)值):如果項(xiàng)目未設(shè)置高度或設(shè)為auto,將占滿整個(gè)容器的高度
* alignContent
* alignContent屬性定義了多根軸線的對(duì)齊方式俏险。如果項(xiàng)目只有一根軸線严拒,該屬性不起作用。
alignContent: flex-start | flex-end | center | space-between | space-around | stretch;
flex-start:與交叉軸的起點(diǎn)對(duì)齊竖独。
flex-end:與交叉軸的終點(diǎn)對(duì)齊裤唠。
center:與交叉軸的中點(diǎn)對(duì)齊。
space-between:與交叉軸兩端對(duì)齊莹痢,軸線之間的間隔平均分布种蘸。
space-around:每根軸線兩側(cè)的間隔都相等。所以竞膳,軸線之間的間隔比軸線與邊框的間隔大一倍航瞭。
stretch(默認(rèn)值):軸線占滿整個(gè)交叉軸。