ReactNative学习分享(2)页面布局与适配

对前端一窍不通,还望各位神指点一二🙂

首先声明,部分资料与图片来自小码哥,需要学习的朋友,文章最下面有链接,还望下载资料。

FlexBox布局,就是决定父盒子和子盒子的关系的

FlexBox核心思想,在CSS是块,内联流的方向,Flex布局是基于flex-flow流(主轴是竖直方向,辅轴就是平直方向,当主轴是平直方向,那么辅轴就是竖直方向)

FlexBox


FlexBox

一、FlexBox布局

1.1 FlexBox是什么意思呢?

flexible(形容词):能够伸缩或者很容易变化,以适应外界条件的变化

box(名词):通用的矩形容器

1.2什么是FlexBox布局?

弹性盒模型(The Flexible Box Module),又叫Flexbox,意为“弹性布局”,旨在通过弹性的方式来对齐和分布容器中内容的空间,使其能适应不同屏幕,为盒装模型提供最大的灵活性。

Flex布局主要思想是:让容器有能力让其子项目能够改变其宽度、高度(甚至是顺序),以最佳方式填充可用空间;

React native中的FlexBox是这个规范的一个子集

1.3大部分情况下是处理图中FlexItemFlexContainer中的位置和尺寸关系


FlexContainer

、属性定义

a)

flexDirection:该属性决定主轴的方向

row: 主轴为水平方向,起点为左端。

row-reverse: 主轴为水平方向,起点在右端

column:主轴为竖直方向,起点在上沿。(默认)

column-reverse:主轴为竖直方向,起点在下沿。

flexDirection:’row’ (主轴方向为水平方向,起点为左端 )

当View包含View1,和View2的时候,

1,若子控件并未设备高度,则会与父控件的高度相同

2,若子控件并未设备宽度,则会按照控件中的内容进行宽度设置(例如按照文字的总高度)


flexDirection

b)

marginTop: 上间距,

c)

justifyContent:定义伸缩项目在主轴上的对齐方式

flex-start: 伸缩项目向一行的起始位置靠齐

flex-end: 伸缩项目向一行的结束位置靠齐

center: 伸缩项目向一行的中间位置靠齐

space-between: 两端对齐,项目之间的间隔都相等

space-around: 伸缩项目会平均的分布在行里,两端保留一半的空间

justifyContent

d)

alignItems:定义伸缩项目在交叉轴(侧轴,垂直于主轴的轴)上的对其方式

flex-start: 交叉轴的起点对齐

flex-end: 交叉轴的终点对齐

center: 交叉轴的中点对其

baseline: 项目中第一文字的基线对其

stretch: 如果项目中未设置高度或者设置为auto,将占满整个容器的高度(默认)


alignItems

e)

flex-wrap:默认情况下,项目都排在一条线上。flex-wrap属性定义,如果一条轴线排不下该如何换行

nowrap: 不换行

wrap: 换行

wrap-reverse:换行,第一行在下方


flex-wrap

nowrap(默认值):不换行。

nowrap

wrap:换行,第一行在上方。

wrap

wrap-reverse:换行,第一行在下方。(和wrap相反)

wrap-reverse

子控件相关属性

元素属性:

a)

flex: 用来决定盒子宽度(宽度= 弹性宽度=flexGrow/sum(flexGrow)))默认值(0,“flex-grow”、“flex-shrink”和“flex-basis”三个属性的缩写,其中第二个和第三个参数(flex-    shrink、flex-basis)是可选参数。

默认值为“0 1 auto”。

宽度=弹性宽度* ( flexGrow / sum(flexGorw) )

flex:

b)

alignSelf: 单个项目在垂直于主轴的的轴上的对其方式

flex-start:父控件顶部

flex-end:父控件底部

center:父控件中间

auto:继承父元素的alignItems属性

baseline:第一行文字的基线

stretch:按照父控件的相关尺寸

alignSelf

Text相关属性

Text相关属性


三,开发中如何获取屏幕的宽,高,分辨率


开发中如何获取屏幕的宽,高,分辨率

感谢各位的阅读,如有不当之处还望各位多多指教

相关百度云资料:链接: https://pan.baidu.com/s/1o8EWYCi 密码: u38t

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 FlexBox是css3的一种新的布局方式,天生为解决布局问题而存在的它,比起传统的布局方式,我们使用Fle...
    zevei阅读 5,295评论 23 3
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 10,161评论 0 26
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 8,954评论 0 6
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,703评论 1 92
  • 弹性布局(flexble box)模块指在提供一个更加有效的方式来布置,对齐和分部在容器之间的各项内容,即使它们的...
    土豆萝卜君阅读 4,858评论 2 5

友情链接更多精彩内容