此问题在此处已有答案:
How to make Flexbox items the same size(10个答案)
昨天关门了。
我有下面的flex布局,其中有几个框,包括一个短标签和一个长值。这些值动态变化,但它们在每个状态下消耗的宽度或多或少是相似的。
当内容改变时,框的宽度也会改变一点,这会导致框的跳跃。我希望框保持初始宽度,而不给出固定宽度,除非值变得太大,以至于框中不再适合它(但这是一种特殊情况,很少发生)。
.outer
{
flex-grow: 1;
border: 1px solid red;
padding: 10px;
margin: 10px;
}
.inner
{
border: 1px solid green;
}
<div style="display: flex; flex-wrap: wrap; border: 1px solid black;">
<div class="outer">
<div class="inner">
<p>label 1</p>
<label>7684433487</label>
</div>
</div>
<div class="outer">
<div class="inner">
<p>label 2</p>
<label>7632423887</label>
</div>
</div>
<div class="outer">
<div class="inner">
<p>label 3</p>
<label id="x">7682342487</label>
</div>
</div>
<div class="outer">
<div class="inner">
<p>label 4</p>
<label>76882353257</label>
</div>
</div>
</div>
<button onclick="document.getElementById ('x').innerHTML = '442424244';">change content</button>
1条答案
按热度按时间xj3cbfub1#
标准的方法是使用
flex: 1
,它偷偷地将flex-basis设置为0;