【发布时间】:2021-10-27 06:13:32
【问题描述】:
我有一个响应式网格布局,列和行是由窗口大小动态计算的。
现在我希望 .target 位于特定单元格上,而不考虑网格列,假设是第 7 个单元格,因此如果网格有 5 列,.target 应该位于第 2 行和第 2 列。这个可以吗?
我知道我可以使用grid-row 和grid-column 来分配元素的位置。但是网格的行和列是动态的,所以我不知道哪一行和哪一列是第 7 个单元格。
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
grid-auto-rows: 100px;
width: 100%;
}
/* this need to be on the 7th cell */
.target {
background-color: red;
}
<div class="grid">
<span class="target"></span>
</div>
我可以创建很多空元素来将.target 推送到第 7 个单元格,但是我不允许触摸 html 结构,所以我不能这样做:
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
grid-auto-rows: 100px;
width: 100%;
}
.target {
background-color: red;
}
<div class="grid">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span class="target"></span>
</div>
【问题讨论】: