【发布时间】:2019-11-14 12:39:00
【问题描述】:
我对 CSS Grid 是否具有创建可重复 grid-template-areas 的功能感兴趣?
为了解释我在这个例子中创建的特性,
.grid {
display: grid;
grid-template-columns: repeat(3, 1fr) 6rem;
grid-template-areas:
'. . . button'
'. . . button'
'. . . button'
'. . . button';
grid-gap: 1rem;
}
.item {
background: #add8e6;
padding: 1rem;
}
.button {
grid-area: button;
background: #ffc0cb;
padding: 1rem;
}
<div class="grid">
<div class="item">Item</div>
<div class="item">Item</div>
<div class="item">Item</div>
<div class="item">Item</div>
<div class="item">Item</div>
<div class="item">Item</div>
<div class="item">Item</div>
<div class="item">Item</div>
<div class="item">Item</div>
<div class="item">Item</div>
<div class="item">Item</div>
<div class="item">Item</div>
<div class="button">Button</div>
</div>
正如您在示例中看到的,grid-template-areas 属性包含多个重复项。 .item 元素可能具有无限数量,因此,无限 grid-template-areas 是不可接受的。
我知道这里的解决方案将是 .item 的嵌套网格,但我实际上对在单个网格中实现此解决方案感兴趣,例如概念证明。
【问题讨论】:
-
我很感兴趣有没有办法做到这一点。这不是提案/功能请求/等。不是用来讨论的。至少在 StackOverflow 上。
-
这个问题太宽泛了,因为不支持你想要的。
-
您附加的链接看起来像我要求的解决方案。它太冗长并且有问题(尝试添加
grid-row-gap属性)。但如果这里没有更好的解决方案,我会将其标记为最佳。