我在一行中有3个宽度不同的按钮。我想让它们都增加相同的宽度以填满行的剩余空间,这样最宽的仍然比其他按钮宽。
如下所示,使用flex尝试的结果是所有按钮的宽度都相同。我知道可以使用flex-grow
来按比例增大每个项目,但我无法想出如何使它们都按照其原始大小比例增长。
在第二行中,您可以看到蓝色项目比其他两个项目要大。我只想让三个按钮从它们当前的大小开始等比扩展以填充整行。
谢谢
.row-flex {
width: 100%;
display: flex;
flex-direction: row;
}
.button {
flex: 1;
display: inline-block;
padding: 10px;
color: #fff;
text-align: center;
}
.button--1 {
background: red
}
.button--2 {
background: green;
}
.button--3 {
background: blue;
}
<div class="row-flex">
<a href="#" class="button button--1">Single</a>
<a href="#" class="button button--2">Larger title</a>
<a href="#" class="button button--3">Another really large title</a>
</div>
<br/>
<div class="row">
<a href="#" class="button button--1">Single</a>
<a href="#" class="button button--2">Larger title</a>
<a href="#" class="button button--3">Another really large title</a>
</div>
flex-basis
的行为,以及它如何非常巧妙地解决了这里的问题 - 谢谢! - davnicwilflex-grow
值的自由空间(围绕内容)。这些数字中的每一个都是flex-grow
的一个值。因为flex-basis
是auto
,所以内容长度被考虑在内。@LokeshSanapalli - Michael Benjamin