直接阅读大神文章:阮一峰写的FlexBox布局。在react-native中原理是同样的,只不过可能有写属性在react-native中简化了。
有几个注意的点,我在刚刚开始flexbox中总结的:html
flexDirection ,justifyContent,alignItemsreact
flexDirection flex布局方式react-native
justifyContent 主轴对齐方式布局
alignItems 交叉轴对齐方式
这里须要特别注意的就是主轴和交叉轴。如下举具体示例说明:flex
flexDirection:'column'(默认值)
,垂直居中对齐:justifyContent:'center'
,水平居中对齐:alignItems:'center'
flexDirection:'row'
,垂直居中对齐:alignItems:'center'
,水平居中对齐:justifyContent:'center'
flexbox
flexcode
为何设置flex:1
占满整个容器
不少时候咱们常常直接写flex:1
占满整个容器,那为何写flex:1
,不写flex:2
或者flex:3
呢?首先咱们要了解flex属性是比例值,假设如今有两个项目,分别设置属性flex:1
,flex:2
,那么第一项就占据整个容器的1/3
,第二项占据整个容器2/3
。这下知道为何flex:1
占满整个容器了吧,由于是1/1
。因此若是容器只有一个项目那么flex:1
,flex:2
,flex:3
都是占满整个容器,由于分别的意思是:1/1
,2/2
,3/3
。htm
特别注意flex:1的做用对象是主轴
在flexDirection:'row'
中设置flex:1
,是水平方向上占满整个容器。在flexDirection:'column'
中设置flex:1
,是垂直方向上占满整个容器。对象