【发布时间】:2023-04-08 06:11:02
【问题描述】:
我正在使用这样的新 css 网格:
#site {
display: grid;
grid-template-columns: 10% 1fr 1fr 1fr 10%;
grid-template-rows: 100px auto;
grid-template-areas:
". header header header ."
". content content sidebar ."
}
所以我有两行和 5 列,但只有 3 列有内容。我使用模板区域中的点来定义空白。 这导致具有 3 列布局,左侧和右侧有空白区域。 如果我将一个元素放置在具有背景颜色的网格区域中,则左侧和右侧的空白区域将保持白色(逻辑上)。 我想要的是全宽背景(颜色),但我不确定如何实现这一点。我想到的一个选择是在背景中有第二个网格,它具有相同的列和行但没有空白,然后我可以用颜色填充它,但我认为这不是最佳做法。
【问题讨论】:
-
为什么你可以将背景图片添加到网格容器并使用
background-image大小和background-position来控制它的对齐方式?顺便说一句,您可以使用10%而不是空白列添加水平填充。 -
如果我将背景图像添加到#site,我无法为每行指定不同的背景。如果我将它添加到行中(例如标题),它就在区域内
-
实际上,您可以使用 background CSS 属性添加多个背景,并将它们定位在每个行/列/任何区域。
-
这应该是最佳实践吗?顺便说一句:我正在尝试设置颜色而不是图像。
-
用 3 个选项写了一个答案,选择你认为是“最佳实践”的最佳答案。