【发布时间】:2020-02-17 01:35:09
【问题描述】:
我正在尝试创建一个 2x2 CSS 网格(将来可能扩展到 3x2),当网格中有三个孩子时,它只会将项目推送到第一行,我不确定这是否可能网格。
基于项目数量的场景将是:
2 项(最少)
<div class="grid">
<div class="player">Player 1</div>
<div class="player">Player 2</div>
</div>
3 项
<div class="grid">
<div class="player">Player 1</div>
<div class="player">Player 2</div>
<div class="player">Player 3</div>
</div>
4 项
<div class="grid">
<div class="player">Player 1</div>
<div class="player">Player 2</div>
<div class="player">Player 3</div>
<div class="player">Player 4</div>
</div>
到目前为止,我尝试过的如下:
.grid {
height: 100%;
display: grid;
grid-template-columns: repeat(2, minmax(150px, 2fr));
grid-template-rows: repeat(2, minmax(150px, 2fr));
border: blue 5px solid;
}
.player {
border: red 5px solid;
display: flex;
justify-content: center;
align-items: center;
}
将列数/行数更改为自动调整/自动填充也不会产生所需的结果,而是无论如何都会占用整个宽度。我附上了我在下面尝试过的一个活生生的例子:
【问题讨论】: