我希望每个按钮保留其独特的宽度(目前基于文本宽度),并在水平空间不足时自动放置到下一行。
使用
Codesandbox:https://codesandbox.io/s/jovial-shannon-btp3x?file=/src/styles.css
使用
grid-auto-flow: column
可以使按钮保持宽度,但它们不会换行。使用grid-template-columns: repeat(auto-fill, minmax(1rem, 15rem))
可以让它们换行,但是它们将失去它们的宽度。Codesandbox:https://codesandbox.io/s/jovial-shannon-btp3x?file=/src/styles.css
.grid {
margin-top: 1rem;
margin-left: 0.1rem;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(1rem, 11.3rem));
max-width: 100%;
grid-row-gap: 2.5rem;
grid-column-gap: 2.5rem;
}
.button {
padding: 1rem;
outline: 1px solid rgba(110, 110, 110, 0.34);
color: white;
background-color: #1d1f1f;
font-family: Calibri;
font-size: 1.4rem;
font-weight: bold;
}
<div class="grid">
<button class="button">
<span class="button-text">
ab
</span>
</button>
<button class="button">
<span class="button-text">
abcd
</span>
</button>
<button class="button">
<span class="button-text">
abcdefg
</span>
</button>
<button class="button">
<span class="button-text">
abcdefghij
</span>
</button>
<button class="button">
<span class="button-text">
abcdefghijklm
</span>
</button>
<button class="button">
<span class="button-text">
abcdefghijklmnop
</span>
</button>
</div>