一、FlexBox
??彈性盒子模型(The Flexible Box Module)杉允,又叫FlexBox,意為“彈性布局”席里,旨在通過彈性的方式來對齊和布局容器中內(nèi)容的空間叔磷,使其能適應(yīng)不同屏幕,為盒裝模型提供最大的靈活性奖磁。
? Flex布局主要思想是:讓容器有能力讓其子項目能夠改變其寬度改基、高度(甚至是順序),以最佳方式填充可用空間
二咖为、FlexBox的常用屬性
?2.1秕狰、容器屬性
??flexDirection
:該屬性決定主軸的方向(即項目的排列方向)
?? row
:主軸為水平方向,起點在左端
??row-reverse
:主軸為水平方向,起點在右端
??column
(默認值):主軸為垂直方向躁染,起點在上沿
??column-reverse
:主軸為垂直方向鸣哀,起點在下沿
??justifyContent
:定義了伸縮項目在主軸線的對齊方式
?? flex-start
(默認值):伸縮項目向一行的起始位置靠齊
?? flex-end
:伸縮項目向一行的中間位置靠齊
??center
:伸縮項目向一行的中間位置靠齊
??space-between
:兩端對齊,項目之間的間隔相等
??space-around
:伸縮項目會平均地分布在行里吞彤,兩端保留一半的空間
??alignItems
:定義項目在交叉軸上如何對齊我衬,可以把其想象成測軸(垂直于主軸)的對齊方式
??alignItems
的值:
flex-start:交叉軸的起點對齊
flex-end:交叉軸的終點對齊
center:交叉軸的中點對齊
baseline:項目的第一行文字的基線對齊叹放。(適用于網(wǎng)頁,RN不適用)
stretch(默認值):如果項目未設(shè)置高度或設(shè)為auto挠羔,將占滿整個容器的高度
alignSelf:允許單個項目有與其他項目不一樣的對齊方式井仰,可覆蓋align-items屬性。默認為auto破加,表示繼承父元素的align-items屬性糕档,如果沒有父元素,則等同于stretch
???flexWrap
:默認情況下拌喉,項目都排在一條線(又稱軸線)上
???flexWrap
的值:
nowrap:不換行
wrap:換行,第一行在上方
wrap-reverse:換行俐银,第一行在下方尿背。(和wrap相反)