flex:1时,width:0作用

1,305 阅读1分钟

flex:1;

width:0;

flex:1=flex-grow:1 flex-shrink:1 flex-basis:0%;

当flex设置为 1 时 相当于剩余空间大小 = 父元素的宽度

如果没有设置width,

当元素的内容大小超过平均分配的剩余空间时,元素的宽度等于内容大小,此时flex的元素宽度表现会出现非预期的比例效果;

如果设置了width并且这个width的大小小于平均分配的剩余空间大小时,则会平均分配的剩余空间;

因此平均的剩余空间大小等于 = 父元素的宽度 / 元素的个数

所以直接设置width为0可以保证元素宽度平分父元素宽度。

flex: 1; width: 0; 这种方式还能用来预防iframe 滚动条。