《React-Native系列》图解RN布局之FlexBox
2016-12-18 16:53
295 查看
前面其实已经写过很多RN界面了,今天再来回顾下FlexBox布局,主要是记录笔记,必备日后查阅。
item),简称"项目"。
|值 |描述 |
|----------- --|--------------------|
|row |横向布局,主轴为水平方向|
|column |纵向布局,主轴为竖直方向|
|值 |描述 |
|-----------|--------------------------------------------------------|
|nowrap |项目沿主轴方向布局,超出容器长度的部分不可见 |
|wrap |项目沿主轴布局所需长度大于容器总长度时,分行布局,所有项目内容都可见|
|值 | 描述 |
|-------------|----------|
|flex-start | 交叉轴开端 |
|center | 交叉轴居中 |
|flex-end | 交叉轴末端 |
|值 | 描述 |
|------------------|-----------------------|
|flex-start | 主轴开端 |
|center | 居中 |
|flex-end | 主轴末端 |
|space-between| 项目与项目之间插入相等空隙 |
|space-around | 项目两旁插入相等空隙 |
|值 |描述 |
|------|----------|
|>=0 |项目占位权重|
1:0:flex=0的项目占用空间仅为内容所需空间,flex=1的项目会占据其余所有空间
在部分组件指定了height的情况下,flex是“除了height以外剩余空间”的分布比例。例如:
[javascript] view
plain copy
<View style={{height:100}}>
<View style={{flex: 3}} />
<View style={{flex: 2}} />
</View>
两个子View的高度分别是 60和40。
[javascript] view
plain copy
<View style={{height:100}}>
<View style={{height: 50, flex: 3}} />
<View style={{flex: 2}} />
</View>
两个子View的高度就分别是80(50+30)和20。
|值 |描述|
|-------------|---|
|flex-start |开端|
|center |居中|
|flex-end |末端|
参考:
http://www.reactnative.vip/forum. href="http://lib.csdn.net/base/php" target=_blank>PHP?mod=viewthread&tid=189&highlight=flexbox
http://blog.csdn href="http://lib.csdn.net/base/dotnet" target=_blank>.NET/majiakun1/article/details/50497390
综述
flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。采用flex布局的元素,称为flex容器(flex Container),简称"容器"。它的所有子元素自动成为容器成员,称为flex项目(flexitem),简称"项目"。
flexDirection
布局方向,决定主轴的方向,默认值是column,即纵向布局|值 |描述 |
|----------- --|--------------------|
|row |横向布局,主轴为水平方向|
|column |纵向布局,主轴为竖直方向|
flexWrap
包含内容,默认值是nowrap,不包裹所有内容,其实可以理解为是否换行。|值 |描述 |
|-----------|--------------------------------------------------------|
|nowrap |项目沿主轴方向布局,超出容器长度的部分不可见 |
|wrap |项目沿主轴布局所需长度大于容器总长度时,分行布局,所有项目内容都可见|
alignItems
交叉轴方向对齐方式,默认值flex-start,即交叉轴开端。|值 | 描述 |
|-------------|----------|
|flex-start | 交叉轴开端 |
|center | 交叉轴居中 |
|flex-end | 交叉轴末端 |
justifyContent
主轴方向对齐方式,默认值是flex-start,即主轴的开端|值 | 描述 |
|------------------|-----------------------|
|flex-start | 主轴开端 |
|center | 居中 |
|flex-end | 主轴末端 |
|space-between| 项目与项目之间插入相等空隙 |
|space-around | 项目两旁插入相等空隙 |
flex
布局权重|值 |描述 |
|------|----------|
|>=0 |项目占位权重|
1:0:flex=0的项目占用空间仅为内容所需空间,flex=1的项目会占据其余所有空间
在部分组件指定了height的情况下,flex是“除了height以外剩余空间”的分布比例。例如:
[javascript] view
plain copy
<View style={{height:100}}>
<View style={{flex: 3}} />
<View style={{flex: 2}} />
</View>
两个子View的高度分别是 60和40。
[javascript] view
plain copy
<View style={{height:100}}>
<View style={{height: 50, flex: 3}} />
<View style={{flex: 2}} />
</View>
两个子View的高度就分别是80(50+30)和20。
alignSelf
项目交叉轴方向自身对齐方式|值 |描述|
|-------------|---|
|flex-start |开端|
|center |居中|
|flex-end |末端|
参考:
http://www.reactnative.vip/forum. href="http://lib.csdn.net/base/php" target=_blank>PHP?mod=viewthread&tid=189&highlight=flexbox
http://blog.csdn href="http://lib.csdn.net/base/dotnet" target=_blank>.NET/majiakun1/article/details/50497390
相关文章推荐
- 《React-Native系列》图解RN布局之FlexBox
- 使用CSS3中的box-flex功能实现垂直等高、水平均分、比例划分布局
- CSS3之Flexbox布局(二)
- CSS Flexbox 布局
- Android可伸缩布局-FlexboxLayout(支持RecyclerView集成)
- flexbox布局
- [置顶] 使用FlexboxLayout完成优雅的布局
- React Native之Flexbox布局
- Flex布局之box-flex
- CSS3之Flexbox布局(一)
- flex-box弹性布局
- 移动端图片画廊 关于flex-box布局
- 弹性盒子布局flex, box-sizing: border-box
- React Native布局之FlexBox
- flex-box弹性布局的用法以及兼容性
- android适配手机升级:最新布局FlexboxLayout替代LinearLayout(支持RecycleView)
- 用FlexboxLayout构建灵活的布局
- React Native FlexBox布局(二) 应用篇
- ReactNative FlexBox布局
- flexbox布局