CSS 网格:不完整行的边框
CSS Grid: Border for incomplete rows
有没有一种方法可以让 CSS 网格 (display: grid
) 在所有项目周围有一个 1px 的边框并填充不完整的行?设置 background-color
的方法似乎不是一个可行的解决方案。
我的目标是在缺少项目的代码片段中创建一个没有灰色区域的网格,并且网格线始终延伸到 table。这应该适用于每行项目的响应组合。
下面没有项目和右边没有项目,似乎需要特殊的伪类 使其在响应式布局中起作用,因为 last-of-type 中关于网格的信息太少而无法将其用于样式设置。
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
background-color: #d4d4d4;
grid-gap: 1px;
border: 1px solid #d4d4d4;
}
.grid > div {
padding: 15px;
text-align: center;
background-color: white;
}
<div class="grid">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
你应该申请
- 网格容器和网格项相同
background-color
- 带有负数的网格项目的右边框和底边框
边距(这将由网格间隙补偿)。
演示:
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
background-color: white;
grid-gap: 1px;
border: 1px solid #d4d4d4;
}
.grid > div {
padding: 15px;
text-align: center;
background-color: inherit;
border-right: inherit;
margin-right: -1px;
border-bottom: inherit;
margin-bottom: -1px;
}
<div class="grid">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
有没有一种方法可以让 CSS 网格 (display: grid
) 在所有项目周围有一个 1px 的边框并填充不完整的行?设置 background-color
的方法似乎不是一个可行的解决方案。
我的目标是在缺少项目的代码片段中创建一个没有灰色区域的网格,并且网格线始终延伸到 table。这应该适用于每行项目的响应组合。
下面没有项目和右边没有项目,似乎需要特殊的伪类 使其在响应式布局中起作用,因为 last-of-type 中关于网格的信息太少而无法将其用于样式设置。
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
background-color: #d4d4d4;
grid-gap: 1px;
border: 1px solid #d4d4d4;
}
.grid > div {
padding: 15px;
text-align: center;
background-color: white;
}
<div class="grid">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
你应该申请
- 网格容器和网格项相同
background-color
- 带有负数的网格项目的右边框和底边框 边距(这将由网格间隙补偿)。
演示:
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
background-color: white;
grid-gap: 1px;
border: 1px solid #d4d4d4;
}
.grid > div {
padding: 15px;
text-align: center;
background-color: inherit;
border-right: inherit;
margin-right: -1px;
border-bottom: inherit;
margin-bottom: -1px;
}
<div class="grid">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>