当前位置: 首页 > Web前端 > CSS

上次弹性盒子模型的flex-shrink

时间:2023-03-31 01:19:35 CSS

属性,在了解了flex-grow的具体用法后,这周我们就来看看属性flex-basis。flex-shrink定义项目的收缩比例,默认值为1。注意项目在空间不足时收缩。值为0表示没有缩放。下面的例子中没有定义这个属性,但是如果容器中的空间不足,item会默认收缩。当item1,2,3,4,5的flex-growratio改为:计算过程如下(这里为了计算方便忽略border的大小):整个盒子的宽度为400px而item宽度之和为100+100+100+100+100=500px,多余空间为500-400px=100px,则示例中item1不缩小,item2缩小比例为1,item3的缩小比例为2,item4的缩小比例为3,item5不缩小。那么多出来的100px会被2,3,4消化掉,比例是1:2:3。那么我们如何计算呢?首先是将每个item的wdith值乘以flex-shrink值,2:(100*1)=1003:(100*2)=2004:(100*3)=300然后对所有item求和的产品。(100+200+300)=600得到比例后,还要乘以超出的空间。A:(100/600)*100=16.66B:(200/600)*100=33.33C:(300/600)*100=50得到每一项减去减少空间后的剩余空间A:(100–16.66)=83.34B:(100–33.33)=66.67C:(100-50)=50那么,这给出了计算出的宽度。那么flex-shrink这个属性在我们使用elastic布局的时候也是很常见的,大部分同学都需要知道reduce的值是怎么计算的。怎么样,现在大家有一个疑问,flex-shrink是怎么计算的,是不是很清楚^-^。(上海尚学堂原创前端培训,后期请多多关注html5+CSS相关技术干货)