【发布时间】:2020-08-02 08:58:50
【问题描述】:
我了解fr 是根据网格容器中的可用空间计算得出的。我有一个网格容器,我想分成 5 列。然而,孩子是动态生成的,根据情况,它可能是 3 个孩子或 4 个或 5 个孩子。我仍然希望使用指定的grid-column-gap 保持 5 列网格完整,但我希望网格开始填充右边的元素。请在下面查看我的代码:https://codepen.io/skepticacid/pen/dyGxaJb
<html>
<body>
<div class = "grid-container">
<div class = "grid-child">1</div>
<div class = "grid-child">2</div>
<div class = "grid-child">3</div>
<div class = "grid-child">4</div>
<div class = "grid-child">5</div>
</div>
<div class = "grid-container">
<div class = "grid-child">1</div>
<div class = "grid-child">2</div>
<div class = "grid-child">3</div>
<div class = "grid-child">4</div>
</div>
<div class = "grid-container">
<div class = "grid-child">1</div>
<div class = "grid-child">2</div>
<div class = "grid-child">3</div>
</div>
</body>
</html>
html{
font-size: 16px;
}
.grid-container {
background-color: coral;
display: grid;
grid-template-columns: repeat(5, 1fr);
grid-column-gap: 1rem;
justify-content: end;
align-items: center;
padding: 1rem;
margin-bottom: 2rem;
}
.grid-child{
background-color: saddlebrown;
color: white;
padding: 1rem;
}
5 个元素是幸福的道路。但是,当归结为 4 或 3 个元素时,我希望它们与 justify-content:end 或 flex-end 类似(因此在 4 列示例中,我希望 div 编号 4 与 div 编号 5 对齐多于)。另外,我还想保留列的宽度以匹配 5 列宽度中的宽度。
这可以通过 CSS 网格实现吗?抱歉,如果我遗漏了一些明显的东西。
【问题讨论】: