关于flex属性缩写兼容性问题

我们常希望用属性flex: 1来代替flex: 1 1 0,
其三个分量分别为flex-grow, flex-shrink, flex-basis,
前两者设1表示不侵占剩余空间也不希望被侵占,
flex-basis置0在chrome下被解析为0%,表示希望在空间冲突时取元素本身的width/height属性;
在这里插入图片描述

但是在IE下,百分比符号会被无视,剩下一个无单位的0被自动加上单位解析为0px,导致basis直接取绝对值0px,在进行弹性布局时其空间无任何权重,当前元素会被父元素无视、被后续元素侵占;
在这里插入图片描述
解决办法是,完整书写成flex: 1 1 auto,让basis取值与元素本身width/height属性一致,避免了0%的写法同时也达到一样的布局目的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值