css flex shrink,CSS3 flex-shrink属性用法详解

下面本文章来给各位介绍一下CSS3 flex-shrink使用方法,希望例子能帮助到各位。

flex-grow控制flex container有多余空间的时候怎么分配,默认值为0,即所有的flex items都不分配。

flex-shrink1则控制flex container空间不足以包含flex items时,flex items怎样缩小所占空间,来防止溢出container。其默认值为1,flex items们根据自身的flex-basis值做相应调整。

看一个示例:

 代码如下复制代码
汇成一道道光的流河
我曾在天上见过地的繁华

.example-Grid{

display: flex;

border: 2px solid black;

width: 250px;

}

.example-first{

background: red;

flex-basis: 150px;

flex-shrink: 1;

}

.example-last{

background:orange;

flex-basis: 200px;

flex-shrink:1;

}

6163a2b78af1204c5d2ca02f17033820.png

在上面的代码中,flex container宽度为250px,而两个flex item宽度加起来有350px,所以要腾100px空间出来。

计算的方式是,每个flex item的flex-basis值乘以flex-shrink值求积,求和所有flex items的乘积,然后求占比,再乘以要腾出的空间。

 代码如下复制代码
.example-first: (150 * 1) / ((200 * 1) (150 * 1)) * 100 = 42.8571428571

.exampel-last: (200 * 1) / ((200 * 1) (150 * 1)) * 100 = 57.1428571429

所以.example-first的宽度为150 – 42.8571428571 = 107px,.example-last的宽度为200 – 57.1428571429 = 143px。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值