flex grow 不能像描述的那样工作
flex grow not working as described
我对 flex grow 的理解有点困惑根据与其兄弟姐妹相关的部分确定 child 的大小,我将一个元素设置为 flex-grow 两个但它很清楚远不止两个。能否指导我获得有关 flex grow 的准确信息或对其进行解释,谢谢。
https://jsfiddle.net/onnakjen/75/
.parent{
display: flex;
border: 1px solid rgba(0,0,0,.5);
height: 300px;
width: 300px;
flex-flow: row wrap;
justify-content: center;
align-items: center;
//align-content: center;
}
.parent div{
width: 50px;
height: 50px;
background-color: blue;
margin:1px;
color: white;
text-align: center;
line-height: 50px;
}
.d2{
flex-grow: 3;
}
您需要将 flex-grow:1;
添加到 .d1 。因为 flex-grow 决定了剩余的 space 如何在弹性项目之间分配以及每个项目接收多少。
因此,如果您不为某些项目设置 flex-grow,它们将不会获得 space,并且您将不会获得您期望的元素宽度。
.d1{
flex-grow: 1;
}
.parent {
display: flex;
border: 1px solid rgba(0, 0, 0, .5);
height: 300px;
width: 300px;
flex-flow: row wrap;
justify-content: center;
align-items: center;
}
.parent div {
width: 50px;
height: 50px;
background-color: blue;
margin: 1px;
color: white;
text-align: center;
line-height: 50px;
}
.d1 {
flex-grow: 1;
}
.d2 {
flex-grow: 3;
}
<div class="parent">
<div class="d1">1</div>
<div class="d2">2</div>
</div>
我对 flex grow 的理解有点困惑根据与其兄弟姐妹相关的部分确定 child 的大小,我将一个元素设置为 flex-grow 两个但它很清楚远不止两个。能否指导我获得有关 flex grow 的准确信息或对其进行解释,谢谢。
https://jsfiddle.net/onnakjen/75/
.parent{
display: flex;
border: 1px solid rgba(0,0,0,.5);
height: 300px;
width: 300px;
flex-flow: row wrap;
justify-content: center;
align-items: center;
//align-content: center;
}
.parent div{
width: 50px;
height: 50px;
background-color: blue;
margin:1px;
color: white;
text-align: center;
line-height: 50px;
}
.d2{
flex-grow: 3;
}
您需要将 flex-grow:1;
添加到 .d1 。因为 flex-grow 决定了剩余的 space 如何在弹性项目之间分配以及每个项目接收多少。
因此,如果您不为某些项目设置 flex-grow,它们将不会获得 space,并且您将不会获得您期望的元素宽度。
.d1{
flex-grow: 1;
}
.parent {
display: flex;
border: 1px solid rgba(0, 0, 0, .5);
height: 300px;
width: 300px;
flex-flow: row wrap;
justify-content: center;
align-items: center;
}
.parent div {
width: 50px;
height: 50px;
background-color: blue;
margin: 1px;
color: white;
text-align: center;
line-height: 50px;
}
.d1 {
flex-grow: 1;
}
.d2 {
flex-grow: 3;
}
<div class="parent">
<div class="d1">1</div>
<div class="d2">2</div>
</div>