React Native -- Flexbox

前端之家收集整理的这篇文章主要介绍了React Native -- Flexbox前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、alignItemsenum('flex-start','flex-end','center','stretch')

源码描述

// How to align children in the cross direction
  // https://developer.mozilla.org/en-US/docs/Web/CSS/align-items
  alignItems: ReactPropTypes.oneOf([
    'flex-start','stretch'
  ]),
  • flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
  • flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
  • center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
  • stretch:如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。


示例代码

<h2>align-items:flex-start</h2>
<ul id="Box" class="Box">
	<li>a</li>
	<li>b</li>
	<li>c</li>
</ul>
<h2>align-items:flex-end</h2>
<ul id="Box2" class="Box">
	<li>a</li>
	<li>b</li>
	<li>c</li>
</ul>
<h2>align-items:center</h2>
<ul id="Box3" class="Box">
	<li>a</li>
	<li>b</li>
	<li>c</li>
</ul>
<h2>align-items:strecth</h2>
<ul id="Box5" class="Box">
	<li>a</li>
	<li>b</li>
	<li>c</li>
</ul>



2、alignSelfenum('auto','flex-start','stretch')

适用于弹性盒模型子元素

源码描述:

// How to align the element in the cross direction
  // https://developer.mozilla.org/en-US/docs/Web/CSS/align-items
  alignSelf: ReactPropTypes.oneOf([
    'auto',
  • auto:如果'align-self'的值为'auto',则其计算值为元素的父元素的'align-items'值,如果其没有父元素,则计算值为'stretch'。
  • flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
  • flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
  • center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
  • stretch:如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。

3、justifyContent

适用于父类容器上

设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式。

当弹性盒里一行上的所有子元素都不能伸缩或已经达到其最大值时,这一属性可协助对多余的空间进行分配。当元素溢出某行时,这一属性同样会在对齐上进行控制。

源码:

// How to align children in the main direction
  // https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content
  justifyContent: ReactPropTypes.oneOf([
    'flex-start','space-around'
  ]),

  • flex-start:弹性盒子元素将向行起始位置对齐。该行的第一个子元素的主起始位置的边界将与该行的主起始位置的边界对齐,同时所有后续的伸缩盒项目与其前一个项目对齐。
  • flex-end:弹性盒子元素将向行结束位置对齐。该行的第一个子元素的主结束位置的边界将与该行的主结束位置的边界对齐,同时所有后续的伸缩盒项目与其前一个项目对齐。
  • center:弹性盒子元素将向行中间位置对齐。该行的子元素将相互对齐并在行中居中对齐,同时第一个元素与行的主起始位置的边距等同与最后一个元素与行的主结束位置的边距(如果剩余空间是负数,则保持两端相等长度的溢出)。
  • space-between:弹性盒子元素会平均地分布在行里。如果最左边的剩余空间是负数,或该行只有一个子元素,则该值等效于'flex-start'。在其它情况下,第一个元素的边界与行的主起始位置的边界对齐,同时最后一个元素的边界与行的主结束位置的边距对齐,而剩余的伸缩盒项目则平均分布,并确保两两之间的空白空间相等。
  • space-around:弹性盒子元素会平均地分布在行里,两端保留子元素与子元素之间间距大小的一半。如果最左边的剩余空间是负数,或该行只有一个伸缩盒项目,则该值等效于'center'。在其它情况下,伸缩盒项目则平均分布,并确保两两之间的空白空间相等,同时第一个元素前的空间以及最后一个元素后的空间为其他空白空间的一半。
示例代码

<ul id="Box" class="Box">
	<li>a</li>
	<li>b</li>
	<li>c</li>
</ul>
<h2>justify-content:flex-end</h2>
<ul id="Box2" class="Box">
	<li>a</li>
	<li>b</li>
	<li>c</li>
</ul>
<h2>justify-content:center</h2>
<ul id="Box3" class="Box">
	<li>a</li>
	<li>b</li>
	<li>c</li>
</ul>
<h2>justify-content:space-between</h2>
<ul id="Box4" class="Box">
	<li>a</li>
	<li>b</li>
	<li>c</li>
</ul>
<h2>justify-content:space-around</h2>
<ul id="Box5" class="Box">
	<li>a</li>
	<li>b</li>
	<li>c</li>
</ul>






4、positionenum('absolute','relative')

作用在父布局容器上

position: ReactPropTypes.oneOf([
    'absolute','relative'
  ]),


5、其他

borderBottomWidth数值型

borderLeftWidth数值型

borderRightWidth数值型

borderTopWidth数值型

borderWidth数值型

bottom数值型

flex数值型


flexDirectionenum('row','column')

flexWrapenum('wrap','nowrap')

height数值型

left数值型

margin数值型

marginBottom数值型

marginHorizontal数值型

marginLeft数值型

marginRight数值型

marginTop数值型

marginVertical数值型

padding数值型

paddingBottom数值型

paddingHorizontal数值型

paddingLeft数值型

paddingRight数值型

paddingTop数值型

paddingVertical数值型

right数值型

top数值型

width数值型

6、参考文章
https://css-tricks.com/snippets/css/a-guide-to-flexBox/
https://bocoup.com/weblog/dive-into-flexBox/

猜你在找的React相关文章