假设您这样声明了一个网格
body {
display: grid;
grid-template-columns: min-content 1fr;
grid-template-rows: min-content auto min-content;
}
当然,这取决于内容,但它可能像这样呈现
+---+-------------+
| | |
| | |
+-----------------+
| | |
| | |
| | |
| | |
| | |
| | |
+-----------------+
| | |
+---+-------------+
使用 ASCIIFlow Infinity 可以很容易地快速绘制出来。

现在您想将元素放置到该网格中,并且可以说最简单的方法是指定它们应该开始/结束的网格行/列。
/* grid-area: row-start / column-start / row-end / column end */
.logo {
grid-area: 1 / 1 / 2 / 2;
}
.site-header {
grid-area: 1 / 2 / 2 / 3;
}
.sidebar-nav {
grid-area: 2 / 1 / 3 / 2;
}
.main-content {
grid-area: 2 / 2 / 3 / 3;
}
.site-footer {
grid-area: 3 / 1 / 4 / 3;
}
还有其他方法可以做到这一点。您可以使用详细的 CSS 属性。您可以命名区域。但假设您喜欢这种方法,因为它很简洁或其他原因。这就是 ASCII 有用之处!将其留在 CSS 注释中并对行进行编号。
/*
1 2 3
1 +---+-------------+
| | |
| | |
2 +-----------------+
| | |
| | |
| | |
| | |
| | |
| | |
3 +-----------------+
| | |
4 +---+-------------+
*/
现在您有了可以从中挑选出这些网格编号的可视化参考。
如果您喜欢原生应用程序并想变得更花哨,可以使用 Monodraw。

这让我想起了我见过的最古怪的 PostCSS 插件:https://github.com/sylvainpolletvillard/postcss-grid-kiss/blob/master/README.md
出于这个确切的原因,我更喜欢网格模板区域,它们可以自动记录自身,不过这篇文章写得很好。
Chris,感谢您的文章。
@kyle 感谢您提醒我注意这一点。这并非古怪,而是天才之举。
哈。同意。我无意暗示古怪不也是天才的体现。
评论应该真正解释原因,而不是内容。如果您需要参考视觉效果,为什么不直接链接到存储库中保存的资源图像?
评论很容易过时,代码应该足够易读以解释意图。如果不是,请考虑重构代码,直到它变得易读。