【发布时间】:2021-08-02 05:04:26
【问题描述】:
学习 Flexbox 并且我不明白为什么 flex 属性的行为方式是这样的。据我了解,flex 只是 flex-grow、flex-shrink 和 flex-basis 的简写,最后两个是可选的。
在下面的示例中,我期望使用 flex-grow 与 flex 获得相同的结果,并且只定义了第一个值。我得到不同的结果,但我不明白为什么。第一个容器中的结果是我所期望的。看起来很简单,我不知道我错过了什么 - 速记属性不能按照我理解的方式工作?感谢任何帮助。
.container {
height: 200px;
width: 100%;
background: lightgray;
margin: 20px auto;
display: flex;
align-items: center;
}
.item {
height: 50px;
width: 300px;
align-items: flex-end;
}
.item1 {
border: 1px solid red;
flex-grow: 0;
}
.item2 {
border: 1px solid green;
flex-grow: 1;
}
.item3 {
border: 1px solid red;
flex: 0;
}
.item4 {
border: 1px solid green;
flex: 1;
}
<div class="container">
<div class="item item1"></div>
<div class="item item2"></div>
</div>
<div class="container">
<div class="item item3"></div>
<div class="item item4"></div>
</div>
【问题讨论】: