-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RN布局 & 适配 #283
Comments
定义样式
|
布局
React Native有两种布局方式:
flex
布局方式;relative
/absolute
布局方式。relative
/absolute
布局相对于WEB CSS的
position
属性,React Native里position
属性只有像个值:relative
默认值absolute
并且含义跟WEB CSS的
position
属性一样的。由于其默认值是relative
,这导致absolute
元素永远相对于其父元素位置。Flex
布局子元素的布局有且只有一种布局方式,即
flex
布局。所以WEB CSS不一样的是父组件不用指定是否开启flex
布局。父组件相关属性
flexDirection
justifyContent
alignItems
alignContent
flexWrap
子组件相关属性
flex
根WEB CSS
flex
不一样的是React Nativeflex
只能是单个数字值。三种取值逻辑:
正数,当取值是正数时
flex
相当于是flexGrow: XXX, flexShrink: 1, flexBasis: 0
的简写形式;如果
flex: 1
相当于flexGrow: 1, flexShrink: 1, flexBasis: 0
。最常用的场景就是
flex: 1
使得容器占满整个空间。但是实际看此时
flexBasis
要设置为auto
,更像是flexGrow: 0, flexShink: 1, flexBasis: 0
。即flex: 0
跟flex: 正数
的效果是一样的。即先取值
width
/height
如果没有足够空间再取值minWidth
/minHeight
。只要是负数都一样,一般给
-1
。Issues/Concern:
flex
默认值是什么?【没有值,即此时看flexShrink
,flexBasis
和flexGrow
的值了】items
和content
区别:items
特指子组件content
表示父组件包含的内容,除了包含子组件外,还可能会有空白区域。alignSelf
和CSS Flex语法差异
flex
属性取值差异;flexDirection
默认值column
;alignContent
默认值flex-start
;flexShrink
默认值0(flexBasis
和flexGrow
默认值跟CSS Flex一致).Row Gap, Column Gap and Gap
gap
,rowGap
,columnGap
用于设置子组件之间的缝隙。子组件和父组件边缘之间的缝隙并不受影响。注意这是ReactNative 0.71才引入的新Style属性。之前的版本可以采用这种方式模拟gap
参考
The text was updated successfully, but these errors were encountered: