Facebook使用此CSS:
{flex: 1; width: 0;}
但div仍有宽度。
答案 0 :(得分:3)
你问的是两个不同的属性和功能。
flex: 1
相当于flex: 1 1 0
,两者都是以下的简写:
flex-grow: 1
flex-shrink: 1
flex-basis: 0
当你添加width: 0
时,它在行方向容器中实际上是多余的和不必要的,就像问题中的那个一样。
flex-basis: 0
= width: 0
。
如果此flex-basis
/ width
规则本身就是这样,那么您将获得预期的行为:该元素的宽度为0。
但是,在通过其他flex属性分配可用空间之前,这些属性仅设置Flex项的初始主要大小。
使用flex-grow: 1
后,在flex-basis
/ width
进行分析后,该项目将消耗行上的所有可用空间。
更多信息: