RN学习笔记之Flexbox布局

作者: AnonyPer | 来源:发表于2017-04-18 17:26 被阅读272次

对RN布局中flexbox规则做一个说明:

flex

felxbox是由伸缩容器和伸缩项目组成,容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end

flexbox中目前我掌握的几个属性包括:

felxDirection、alignItems、justfyContent、flexWrap、alignContent,基本上使用前三个就可以了。

flexDirection

flex方向,控制item的排列方向,有row(水平排列)、column(竖直排列)、row-reverse(水平从右开始排列)、column-reverse(竖直从下排列)

row的时候 水平为主轴,竖直为次轴,column时竖直为主轴,水平为次轴。

alignItems

控制item在次轴上的排列方式,主要属性包括:(以column为例)

flex-start 次轴起点开始(在水平方向上居左显示)

flex-end次轴终点开始(在水平方向上居右显示)

center次轴中间开始(在水平方向上居中显示)

stretch如果为设置次轴宽度(或高度),或者设置为auto,将占满整个容器(没有设置width,水平方向全部填充)

baseline第一行文字的基线对齐

效果图如下:


alignItems

justfyContent

主轴方向的对齐方式(以column为例)

flex-start起始位置对齐(左对齐)

flex-end结束位置对齐(右对齐)

center中心对齐(水平居中)

space-between两端对齐,item之间间距平分

space-around每个项目两端的间隔相等

justfyContent

flexWrap

按照主轴排列,如果一行(列)排列不下时,控制第二行(列)的位置(如何换行/列)

nowrap:不换行,为默认效果

wrap:换行,依次往后排

wrap-reverse:换行,从后往前排

以row为例:

nowrap wrap wrap-reverse

alignContent

多条轴线的对齐方式(如果只有一个,该属性不起作用,即不换行/列,该属性无用)

其属性值

flex-start起始位置对齐(多条次轴线左对齐)

flex-end结束位置对齐(多条次轴线右对齐)

center与交叉轴两端对齐,轴线之间的间距间隔平均分布

space-between每根轴线两侧的间隔相等

space-around轴线占满整个交叉轴,默认值

alignContent

flexFlow

有的博客上写了这个属性,经我测试暂没发现有这个属性,应该是CSSStyle里面的属性

flex

指定数字,按照比例根据父容器大小来动态计算大小,其中父容器必须有固定的width 和height,或者设定flex,要不父容器尺寸为0,子组件设置flex也没有效果(这是废话)

数值越大,显示空间越大

alignSelf

决定元素在父元素次轴方向的排列顺序(设置在子元素上),会覆盖父容器alignItems属性,默认值为auto

alignSelfe num('auto', 'flex-start', 'flex-end', 'center', 'stretch')

ps:以上内容我亲自测试过。

其他细节参考如下:

FlexBox介绍

FlexBox-RN中文网

相关文章

  • React-Native中的Flexbox布局

    RN 的 Flexbox 布局的学习笔记 1.什么是 Flexbox 布局? Flexbox,弹性布局,可以以响应...

  • RN学习笔记之Flexbox布局

    对RN布局中flexbox规则做一个说明: felxbox是由伸缩容器和伸缩项目组成,容器默认存在两根轴:水平的主...

  • ReactNative笔记-flexbox和position

    ReactNative笔记-flexbox和position 在rn中布局基本上全部是使用的flex,所以flex...

  • React Native布局

    RN布局 RN的flexbox主要有以下几个属性alignItems,alignSelf,flex,flexDir...

  • RN布局-Flexbox

    Yoga Facebook在React Native里引入了一种跨平台的基于CSS的布局系统,它实现了Flexbo...

  • RN之FlexBox布局用法

    FlexBox 布局基本用法 1、什么是FlexBox Flexbox是Flexible Box的缩写,意为'弹性...

  • RN之使用Flexbox布局

    我们在React Native中使用flexbox规则来指定某个组件的子元素的布局。Flexbox可以在不同屏幕尺...

  • React Native 布局

    RN布局 盒子模型 RN的flexbox主要有以下几个属性alignItems,alignSelf,flex,fl...

  • Flexbox总结

    Flexbox弹性布局是React Native中的布局,功能丰富,能够满足页面大量的排版需求。RN的FlexBo...

  • React-Native 认识style_3

    3.1 RN页面布局flexbox 当听到flexbox, 作为一个纯碎的iOS开发者,听到这个内心是懵逼的.只能...

网友评论

    本文标题:RN学习笔记之Flexbox布局

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