2、flex item的属性:
(1)、flex-grow 增长比例(空间过多时)
(2)、flex-shrink 收缩比例(空间不够时)
(3)、flex-basis 默认大小(一般不用)
(4)、flex 上面三个的缩写
(5)、order 顺序(代替双飞翼)
(6)、align-self 自身的对齐方式
(1)、flex-grow
HTML
<div class="parent">
<div class="child">3sdfasfasa</div>
<div class="child">4234dfswed</div>
<div class="child">wewesdsdfds</div>
</div>
CSS
.parent{
background:#ddd;
display:flex;
}
.child{
height:50px;
background:white;
margin:1px;
}
![](https://img.haomeiwen.com/i16506556/d24fe2414d34dde2.png)
在上面CSS中加上下面这句,意思就是将多余空间全部分配到第一个item中。数字大于1就是全部分配某个item上。
.child:nth-child(1){
flex-grow:1
}
![](https://img.haomeiwen.com/i16506556/f0448368883841a4.png)
上面CSS中改成下面这句,意思就是将多余空间按照比例2:1:3分配到这三个item中。
.child:nth-child(1){
flex-grow:2
}
.child:nth-child(2){
flex-grow:1
}
.child:nth-child(3){
flex-grow:3
}
![](https://img.haomeiwen.com/i16506556/3e5c225efa96ef20.png)
(2)、flex-shrink
将增长比例CSS代码改成下面的
.child:nth-child(1){
flex-shrink:2;
}
.child:nth-child(2){
flex-shrink:1;
}
.child:nth-child(3){
flex-shrink:5;
}
![](https://img.haomeiwen.com/i16506556/0d30f6d962ee834c.png)
![](https://img.haomeiwen.com/i16506556/d27c7652cf49d1a3.png)
(3)、flex-basis
CSS
.parent{
background:#ddd;
display:flex;
width:300px;
}
.child{
height:80px;
background:white;
margin:1px;
}
.child:nth-child(1){
flex-basis:300px;
}
![](https://img.haomeiwen.com/i16506556/83328194f9c741e1.png)
![](https://img.haomeiwen.com/i16506556/ff2c29a90e70b509.png)
flex-basis时默认值大小,我们可以改变它的值优先分配大小。
(4)、flex
CSS
.parent{
background:#ddd;
display:flex;
width:300px;
}
.child{
height:80px;
background:white;
margin:1px;
}
.child:nth-child(1){
flex:1 2 300px; //涨的时候吃一份,缩的时候缩两份,原始大小是100px
}
![](https://img.haomeiwen.com/i16506556/6e8274a1e48b02dd.png)
flex 是三个flex-grow 、flex-shrink、flex-basis三个缩写形成,三个值按顺序进行编写。
(5)、order 顺序(代替双飞翼)
CSS
.parent{
background:#ddd;
display:flex;
width:300px;
}
.child{
height:50px;
width:100px;
background:white;
margin:1px;
}
![](https://img.haomeiwen.com/i16506556/1386329f9b406ffc.png)
在上述CSS加上下面代码(order)
.child:nth-child(1){
order:3;
}
.child:nth-child(2){
order:2;
}
.child:nth-child(3){
order:1;
}
![](https://img.haomeiwen.com/i16506556/ad1ef71bd0e7b456.png)
(6)、align-self 自身的对齐方式
HTML
<div class="parent">
<div class="child">
11111 <br>
1111 <br>
111 <br>
11 <br>
1 <br>
</div>
<div class="child">
2 <br>
2 <br>
2 <br>
</div>
<div class="child">3</div>
</div>
CSS
.parent{
background:#ddd;
display:flex;
width:400px;
justify-content:space-around;
align-items:flex-start;
}
.child{
width:80px;
background:white;
margin:1px;
}
![](https://img.haomeiwen.com/i16506556/72c8bbd337f01c46.png)
在上述CSS中加上下面这句代码,其中align-self常用的属性值有
center
、flex-start
、flex-end
.child:nth-child(3){
align-self:center; //属性值改变时如下图所示变化
}
![](https://img.haomeiwen.com/i16506556/5ab0d970f0ecb4d5.png)
![](https://img.haomeiwen.com/i16506556/e0d1472e2262274c.png)
![](https://img.haomeiwen.com/i16506556/4787f7a77747adad.png)
网友评论