为什么flex-basis的默认值不是'auto'?

时间:2015-07-17 10:02:51

标签: css3

.wrapper {
  display: flex;      
  flex-flow: row wrap;
}

.aside-1 {
  width: 300px;
  flex: 1;
  background: gold;
}

.aside-2 {
  flex: 1;
  background: hotpink;
}
<div class="wrapper">
  
  <aside class="aside-1">Aside 1</aside>
  <aside class="aside-2">Aside 2</aside>
  
</div>

在这种情况下,如果.aside-1的弹性基础为“auto”,则.aside-1的宽度应该大于.aside-2的宽度。
但它似乎是0%,所以.aside-1和.aside-2的宽度是相同的。

1 个答案:

答案 0 :(得分:1)

答案是found in the docs here:

  

&LT;“柔性基础”&GT;

     

此组件设置弹性基础,并指定弹性基础:弹性项目的初始主要大小,在根据弹性因子分配自由空间之前。它采用与width属性相同的值(除了auto以不同的方式处理)和一个额外的content关键字。 从弹性简写中省略时,其指定值为0%。

(强调我的)

在您的示例中,flex-basis值未在0%简写中定义时在flex正确设置。