RN布局-Flexbox

2020-03-11  本文已影响0人  quanCN

Yoga

Facebook在React Native里引入了一种跨平台的基于CSS的布局系统,它实现了Flexbox规范。基于这个布局系统,不同团队终于可以走到一起,一起解决缺陷,改进性能,让这个系统更加地贴合Flexbox规范。随着这个系统的不断完善,Facebook决定对它进行重启发布,并取名Yoga。Yoga是一个表达性极强的布局库,并没有实现CSS的所有内容。到目前为止,Yoga已经有以下几个平台的绑定:Java(Android)Objective-C(UIKit)C#(.NET)。而且已经有很多项目在使用Yoga,比如React NativeComponents for AndroidOculus,等等。
Flex 布局教程:语法篇--阮一峰
RN官网布局文档

Flexbox

概念

采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"


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

项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size

Flexbox属性

flex-direction
flex-wrap
flex-flow
justify-content
align-items
align-content
flex-grow

如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。

align-self
self
上一篇 下一篇

猜你喜欢

热点阅读