RN布局 盒子模型
RN的flexbox主要有以下几个属性alignItems,alignSelf,flex,flexDirection,flexWrap,justifyContent。
父组件设置如下:
flexDirection
该属性用于指定主轴的方向。即指定子view的布局方向。它有两个值可设置。
- row:横向布局。
- column:纵向布局。
alignItems
用于定义子组件在垂直方向上的对齐方式。有四个属性可设置:flex-start,flex-end,center,stretch。
- flex-start:与父组件的顶部对齐。
- flex-end:与父组件的底部对齐。
- center:处于父容器的中间位置。
- stretch:竖直上填充整个容器。
有竖直就水平。justifyContent和alignItems是相对的。它有五个属性可以设置,分别是flex-start,flex-end,center,space-between,space-around。 * flex-start:伸缩项目与父容器左端靠齐。 * flex-end:与父容器右端靠齐。 * center:水平居中。 * space-between:第一个子组件位于父容器左端,最后一个子组件位于父容器最右端。然后平均分配在父容器水平方向上。
它左右都不留空隙。均匀分布。 * space-around:所有子组件平均分配在父容器的水平方向上,左右都有留空隙。
左右都留有空隙,是平均的位于整个界面的水平方向上。
子组件设置:
alignSelf
该属性用来设置单独组件的竖直对齐方式,与alignItem有点像。有五个属性可以设置,auto,flex-start,flex-end,center,streth。 * auto:按照自身设置的宽高来显示,如果没设置,效果跟streth一样。 * flex-start:与父容器顶部对齐。 * flex-end:与父容器底部对齐。 * center:位于垂直位置。 * streth:垂直拉伸。
flex
flex指设置伸缩项目的伸缩样式,可以把它类比成android中的weight属性。
flexWrap
其实这些属性都是CSS原有的属性,只是RN只支持了部分的属性。flexWrap用于设置是否可换行,有两个属性可设置nowrap和wrap。
- nowrap:即使空间不够也不换行。
- wrap:空间不够的话自动换行。
字体形式:Zurich Light 分配的关键字:空 分配的数字:100,200,300
字体形式:Zurich Regular 分配的关键字:normal 分配的数字:400
字体形式:Zurich Medium 分配的关键字:空 分配的数字:500
字体形式:Zurich Bold 分配的关键字:bold 分配的数字:600,700
字体形式:Zurich Black 分配的关键字:空 分配的数字:800
字体形式:Zurich UltraBlack 分配的关键字:空 分配的数字:900
网友评论