RNAndroid开发经验谈Android技术知识

React Native —— flex(弹性布局)

2017-07-10  本文已影响190人  xiaoyanger

flex,是flexible box的简称,意为弹性布局,在RN中是用来描述子组件在父组件中的对齐方式和相对位置,使其能够适应不同的屏幕,为界面布局带来更大的灵活性。

flex布局由flex container 和flex item组成。flex container分为主轴(main axis)和交叉轴(across axis)。主轴默认是竖直方向。

flex

flex为弹性容器的属性,在css3中由flex-grow、flex-shrink、flex-basis三个属性组合起来,其中后面两个是可选参数。在RN中flex默认为flexGrow属性。

flexDirection

flexDirection属性为主轴方向,取值为columncolumn-reverserowrow-reverse。默认值为column

flexWrap

flexWrap表示沿主轴方向放不下是否需要换行。取值为:wrapnowrap,默认值为wrap

flexWrap属性值对比图(其中`flexDirection: 'row'`)

justifyContent

justifyContent表示容器中的子组件在主轴方向上的对齐方式,取值为flex-startflex-endcenterspace-betweenspace-around,默认值为flex-start

justifyContent属性值对比图(其中`flexDirection: 'row'`)

alignItems

alignItems表示容器中子组件在交叉轴方向上的对齐方式,取值为:flex-startflex-endcenterstretchbaseline,默认值为flex-start

alignItems属性值对比图(其中`flexDirection: 'row'`)

alignContent

alignContent定义了多根轴线时,交叉轴方向的对齐方式,如果只有一根轴,该属性是没有效果的。取值为:flex-startflex-endcenterspace-betweenspace-aroundstretch。默认值为flex-start

alignContent属性值对比图(其中`flexDirection: 'row'`)

alignSelf

alignSelf定义了子组件自身对齐方式,该属性会覆盖父组件的alignItems属性。取值为:autoflex-startflex-endcenterstretch,默认值为auto

alignSelf属性值对比图(其中父组件`flexDirection: 'row'`)
上一篇下一篇

猜你喜欢

热点阅读