美文网首页react-native 学习
react-native-flex布局

react-native-flex布局

作者: _一叶孤帆 | 来源:发表于2019-01-29 17:13 被阅读0次

为了解决写RN的时候 总是会遇到 ‘应该是这样写’的问题 所以呢 打算彻底的把布局知识研究一下。

准备大招中......

首先我们来了解一下flex布局。

flex布局是在2009年由W3C组织提出的一种全新的布局方案。这种布局方案可以解决传统页面无法伸缩的问题,相比传统的盒子布局,flex更加灵活。
引入flex布局模型的目的就是提供一种更加有效的方式来对一个容器中的条目进行排列、对齐、空白空间分配。即便容器中的条目的尺寸未知或是动态变化的,flex布局模型也能正常工作。在flexBox布局模型中,容器会根据布局的需要,调整其中包含的条目的尺寸和顺序来恰当的填充所有可用的空间,当容器的尺寸由于屏幕大小或者窗口尺寸发生变化时,其中包含的条目也会动态的调整。

image.png

正如上图一样,flex布局主要是由两条互相垂直的坐标轴组成,分别就是主轴和交叉轴。但具体哪条是主轴并不是确定的,需要我们来自己定义,
所以在正常情况下,我们在使用的时候,首先先来定义主轴的方向,例如定义水平方向的轴为主轴,那么垂直方向就是交叉轴,或者定义垂直方向为主轴,那么水平方向就是交叉轴。

容器内的条目可以是一行或者多行。而主轴就是确定了每一行里面所有条目的排列方向,而交叉轴确定的就是行本身的排列方向。

再简单一点来说就是所有的布局都是父视图与子视图的关系,我们要确定的就是首先要确定的就是子视图再父视图上是横着排列还是竖着排列,这个时候就需要我们来确定垂直轴和水平轴哪个是主轴。如果是横向排列,那么水平轴就是主轴,垂直轴就是交叉轴,如果竖向排,那么垂直轴就是主轴,水平轴就是交叉轴。

在我们确定完主轴与交叉轴之后,我们还需要确定一个东西,那就是在主轴上的东西我们是要从前往后排还是从后往前排。交叉轴也一样,是从上往下,还是从下往上,(这个地方我们以水平轴为主轴举例,反之一样),而这个排列方式的起始我们就叫它主轴起始、主轴结束、交叉轴起始、交叉轴结束。

好了,关于主轴交叉轴的定义就这样,不懂多读几遍。。。。

上面扯了一大堆,到底该咋写还是不知道。。

接下来就是该咋写。。

flexBox布局属性

常用的几个布局属性有

flexDirection:这个属性控制的就是主轴的方向。

  • row: 默认值,主轴的方向为从左到右排列
  • row-reverse: 和row的方向相反,从右到左排列
  • column: 从上到下排列
  • colume-reverse: 从下到上排列
flexDirection.jpg

flexWrap:这个属性用来控制伸缩容器内是单行还是多行。同时也确定了交叉轴的方向。

  • nowrap:默认值,伸缩容器内单行显示。
  • wrap:伸缩容易内多行显示。由上到下排列
  • wrap-reverse:伸缩容器内多行反向显示,反向指的是从下到上排列。

下面是flexDirection为row的例子。


未标题-1.jpg

下面是flexDirection为column的例子。


未标题-1.jpg

justifyContent:这个属性定义了伸缩项目在主轴上的对齐方式。

  • flex-start:伸缩项目以主轴的起始位置开始对齐,后面的每个元素紧挨着前一个元素对齐。
  • flex-end:伸缩项目以主轴的结束位置对齐,前面的每个元素紧挨着后一个元素对齐。
  • center:伸缩项目互相对齐并在主轴上处于居中,并且第一个元素到主轴起点的距离等于最后一个元素到主轴终点的距离。
  • space-between:伸缩项目平均分配主轴上,第一个元素和主轴的起点紧挨,最后一个元素和主轴的终点紧挨,中间剩下的伸缩项目进行平分。
  • space-around:伸缩项目平均分配在主轴上。第一个元素到主轴的起点距离和最后一个元素到主轴的终点距离相等,且等于中间元素两两的间距的一半,完美地平均分配
未标题-1.jpg

alignItems:这个属性用来定义伸缩项目在交叉轴上的对齐方式。

相关文章

  • react-native-flex布局

    为了解决写RN的时候 总是会遇到 ‘应该是这样写’的问题 所以呢 打算彻底的把布局知识研究一下。 准备大招中......

  • css经典布局总结

    布局类型 浮动布局 流式布局 定位布局 flex布局 grid布局 布局详解 1.浮动布局。 浮动布局是利用flo...

  • 布局小结

    布局方式 静态布局 浮动布局 定位布局 自适应布局 流式布局(百分比布局) 响应式布局 弹性布局 悬挂布局 圣杯布...

  • 常用的五大布局

    常用的五大布局(线性布局,相对布局,帧布局,表格布局,绝对布局) 1,线性布局 LinearLayout ...

  • 实现三栏布局的六种方式

    六种布局方式总结:圣杯布局、双飞翼布局、Flex布局、绝对定位布局、表格布局、网格布局。 圣杯布局 圣杯布局是指布...

  • CSS3开发常用核心技能

    基础网页布局 布局分类 一列布局 两列布局 三列布局 多列布局 一列布局: 二列布局: 三列布局: ⚠️ midd...

  • 移动端页面布局

    七大布局:流线布局、等比缩放拓展布局、分栏布局、流动布局、重复布局、固定布局1.流线布局流线布局指在界面中的内容元...

  • 前端网站5种布局

    前端基本布局分大致5种,table布局,float 布局,absolute布局,flexbox布局,grid布局。...

  • 2019-08-25

    布局 说法一 浮动布局 绝对定位布局 Flex布局 Table-cell表格布局 网格布局 说法二 静态布局 流式...

  • flex布局的几种典型布局方式

    flex布局的典型布局方式有哪些? 网格布局 固定底栏布局 圣杯布局 输入框布局 悬挂布局 网格布局 最简单的网格...

网友评论

    本文标题:react-native-flex布局

    本文链接:https://www.haomeiwen.com/subject/hjnxsqtx.html