CSS3弹性盒子之子元素属性
1、order:integer;
integer:用整数值来定义排列顺序,数值小的排在前面。可以为负值
例子:
css部分:
.father1{
width:500px;
height:400px;
background: lightcoral;
margin:20px auto;
display: -webkit-flex;
display:flex;
}
.son1{
width:100px;
height:100px;
border:2px solid crimson;
background: coral;
margin:10px;
text-align: center;
color: #fff;
}
.first{
-webkit-order:-1;
order:-1;
}
html部分:
<div class="father1">
<div class="son1">order1</div>
<div class="son1 first">order2</div>
<div class="son1">order3</div>
</div>
效果如图:

1、align-self 属性用于设置弹性元素自身在侧轴(纵轴)方向上的对齐方式
align-self: auto | flex-start | flex-end | center | baseline | stretch;
auto:如果'align-self'的值为'auto',则其计算值为元素的父元素的'align-items'值,如果其没有父元素,则计算值为'stretch'。
flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。
stretch:如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。
例子:
css部分:
.father2{
width:500px;
height:400px;
background: lightcoral;
margin:20px auto;
display: -webkit-flex;
display:flex;
}
.son2{
width:100px;
min-height:100px;
border:2px solid crimson;
background: coral;
margin:10px;
text-align: center;
color: #fff;
}
.test1{
-webkit-align-self:flex-start;
align-self:flex-start;
}
.test2{
-webkit-align-self:flex-end;
align-self:flex-end;
}
.test3{
-webkit-align-self:center;
align-self:center;
}
.test4{
-webkit-align-self:baseline;
align-self: baseline;
}
.test5{
-webkit-align-self:stretch;
align-selt:stretch;
}
.test6{
-webkit-align-self:auto;
align-self:auto;
}
html部分:
<div class="father2">
<div class="son2 test1">flex-start</div>
<div class="son2 test2">flex-end</div>
<div class="son2 test3">center</div>
<div class="son2 test4">baseline</div>
<div class="son2 test5">stretch</div>
<div class="son2 test6">auto</div>
</div>
效果如图:

1、flex 属性用于指定弹性子元素如何分配空间。
flex:none | [ flex-grow ] || [ flex-shrink ] || [ flex-basis ];
none:none关键字的计算值为: 0 0 auto
[ flex-grow ]:定义弹性盒子元素的扩展比率。
[ flex-shrink ]:定义弹性盒子元素的收缩比率。
[ flex-basis ]:定义弹性盒子元素的默认基准值。
例子:
第一个弹性子元素占用了3/5 的空间,其他两个各占 1/5 的空间
css部分:
.father3{
width:500px;
height:400px;
background: lightcoral;
margin:20px auto;
display: -webkit-flex;
display:flex;
}
.son3{
height:100px;
border:2px solid crimson;
background: coral;
margin:10px;
text-align: center;
color: #fff;
}
.flex-item1{
-webkit-flex: 3;
flex: 3;
}
.flex-item2{
-webkit-flex: 1;
flex: 1;
}
.flex-item3{
-webkit-flex: 1;
flex: 1;
}
html部分:
<div class="father3">
<div class="son3 flex-item1">order1</div>
<div class="son3 flex-item2">order2</div>
<div class="son3 flex-item3">order3</div>
</div>
效果如图:
