专栏名称: CSDN
CSDN精彩内容每日推荐。我们关注IT产品研发背后的那些人、技术和故事。
目录
相关文章推荐
51好读  ›  专栏  ›  CSDN

React Native 响应式布局实践

CSDN  · 公众号  · 科技媒体  · 2017-04-04 18:49

正文

请到「今天看啥」查看全文


2. 如果主轴方向上需要换行,则依据 flexWrap 的值,处理换行;

3. 逐行计算主轴上是否有剩余长度;

4. 如果该行剩余长度>0(有空白),则根据 flexGrow 系数伸长各个项目,尽量确保填满空白;

5. 如果该行剩余长度<0(有溢出),则根据 flexShrink 系数缩短各个项目,尽量确保没有溢出;

6. 依照 justifyContent 的值,处理各个项目在主轴上的对齐;

7. 依照 alignItems 以及 alignSelf 的值,处理各个项目在交叉轴上的对齐。

理解了算法的步骤之后,最后具体介绍一下构成 Flexbox 的各类属性,这里仅简要概括一下每个属性的作用,更加详细的说明则可以参考 React Native 或是 CSS 的相关文档。

首先是可以在容器上指定的属性,它们会作用在所有项目的布局上:

  • flexDirection 控制主轴的方向,可以选择纵向的从上往下(column),从下往上(column-reverse),或是横向的从左往右(row),从右往左(row-reverse)

  • flexWarp 控制项目换行的方式,可以选择换行(wrap)或是强制不换行(nowrap)

  • justifyContent 控制项目在主轴上的对齐方式,可以选择起始位置对齐(flex-start),终止位置对齐(flex-end),居中对齐(center),两侧贴边等间隔对齐(space-between),两侧非贴边等间隔对齐(space-around)







请到「今天看啥」查看全文