CSS中当有flex:1时定义width:0的作用是什么?

如题

div{
  flex:1;
  width:0;
}
1
2
3
4

中的width:0作用是什么?

# 回答:

如果没有设置width,当内部元素的内容大小超过平均分配的剩余空间时,元素的宽度等于内容大小,如果设置了width并且这个width的大小小于平均分配的剩余空间大小时,取平均分配的剩余空间;

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

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

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

# 答:

当俩个弹性盒子内容不一样高的时候,flex的元素宽度表现会出现非预期的比例效果,添加width属性(值为任意)可以使其达到预期的比例效果