程序员人生 网站导航

React实战-对比ReactJs与ReactNative中的Flex用法

栏目:htmlcss时间:2016-11-10 08:13:28

React实战-对照ReactJsReactNative中的Flex用法

不管是Web还是移动端,让人花费大量精力和时间的是页面布局,在新Css3中提供了flex为我们解决了很大的问题,我们不要再设置如此多的float, 为个元素居中伤透脑筋,以致网上出现有9种元素居中的做法,跟茴香豆的茴有4种写法1样,自从出现flex后,页面布局就变的轻松多了。但是ReactNativeReactJs中写法又有很多不同。flex的基本用法我们可以直接看Flex的官方文档便可。

1.ReactJsflex写法与普通html的不同

相比ReactNative来讲,ReactJsflex的写法更接近普通htmlflex写法,基本上无障碍,无损伤的继承了css的写法,不同主要在于JSXhtml中的写法不同,之前的博文中有提到JSX写法的不同,固然这些不同仍然带到了ReactNative中。

2.ReactNativeFlex的写法与ReactJs中写法的不同

除继承了JSX语法对css命名的特殊性,ReactNative相比ReactJsflex的写法也有所不同。主要表现在以下几点:

a.ReactNativeflex的参数只支持单1数字

ReactNative中可以采取flexFlow:'row',但如果写成flexFlow:'row, wrap',将不会起作用。

b.ReactNativeflexDirection的默许值为column,css中默许值为row

c.ReactNativealignItems默许值为stretch,而css中默许值为flex-start

d.ReactNative中属性采取JSX中的写法,没有‘-,并且第2个单词开始首字母大写(1般如此,非绝对正确),css中1般采取小写加‘-’连接,如:justify-content

e.Flex的属性值在ReactNativecss中基本相同。

虽然ReactNativeflex属性写法不同,但值却是相同的。如:

flexDirection:'row-reverse'

至于Flex的用法,还是那句话,想快速入门可以看1眼他人的介绍,细看还是看官网原文,如果你只想简单利用,只需了解主要的几个属性:

l Flex Directionrow,column

定义子元素排列方向,row横向排列,column纵向排列

l Justify Contentflex-start, center, flex-end, space-around,  space-between

定义子元素排列的出发点,间隔空间。

l Align Itemsflex-start, center, flex-end, stretch

定义子元素排列方向的纵向排列方式,也就是Flex Direction的垂直方向上的排列方式。

l Flex:number

定义子元素所占空间的比例。定义这个元素,widthheight会失效。

了解了以上4个属性的用法,也基本了解了flex的用法,可以随便的布局了。

 

 

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐