【发布时间】:2019-07-30 09:09:06
【问题描述】:
我正在尝试制作一个底部有一个完整跨度行的网格。
对于全跨度列,我可以使用grid-column: 1/-1。
对于单跨度列,我可以使用grid-column: 1/1。
对于单跨行,我可以使用grid-row: 1/1。
但如果我要定义最后一列或最后一行,我必须写grid-column: -2/-1。
为什么第一列/行的语法与 1/1 不同?还是我在某个地方犯了错误?
我还做了一个 jsfiddle 来演示我的问题:jsfiddle
.grid-container {
display: grid;
grid-template-columns: 5px 1fr 1fr;
grid-template-rows: minmax(50px, 2fr) 1fr 1fr 1fr 1fr 1fr 15px;
}
.grid-item {
width: 1fr;
}
.header {
display: flex;
grid-column: 2/-1;
grid-row: 1/1;
justify-content: center;
}
.border-left {
background: purple;
grid-column: 1/1;
grid-row: 1/-1;
}
.border-bottom {
background: #410266;
grid-column: 2/-1;
/* grid-row: -2 / -1; this will work, -1/-1 will not */
grid-row: -1 / -1;
}
<div class="grid-container">
<div class="header"> HEADER </div>
<div class="border-left"></div>
<div class="grid-item">1 </div>
<div class="grid-item">2 </div>
<div class="grid-item">3 </div>
<div class="grid-item">4 </div>
<div class="border-bottom"></div>
</div>
【问题讨论】:
-
-2或2? ... -
@TemaniAfif 我不明白你的问题。 -1/-1 不起作用,-2/-1 起作用。 1/1 和 2/2 也可以。为什么 -1/-1 不起作用是我的问题
-
在你的代码中我没有看到任何
-2,所以我问你是否指的是2 -
我更新了 jsfiddle,当场注释掉了 -2。该代码具有-1/-1,因此不显示底部边框。将其更改为 -2/-1 显示底部边框,因此我的问题
-
@Paulie_D,虽然这个问题和副本之间有一些重叠,但它们并不相同。这个问题更多的是关于网格错误处理。