html - CSS 网格简写 - 网格区域属性不起作用

标签 html css frontend css-grid

我目前正在设置我的 CSS 网格,并尝试使用网格速记在一个干净整洁的声明中设置所有内容。

例如grid: auto/"sidebar"15em "content"auto;

这是行不通的。 Chrome 不解析它。然而......这确实有效。

grid: "menu"45px "context-header"100px "main"auto/auto;

我最初认为我不能将 auto 放在 / 之前,而是删除 grid-area 属性使其成为 grid: auto/15em auto; 解析正常。

关于我是否真的需要使用区域属性,现在可以在这里提出一个更重要的观点。这只是声明轨道空间的一种很好的可读方式。 所以我想我的问题更多是关于语法的。为什么我可以在 / 之前有网格区域属性,但不能在之后?

我查看了 mozilla 文档并且目前正在使用 https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid作为我的“圣经”。除非我误解了一些明显的东西,否则我无法弄清楚为什么我会遇到这个问题。

提前致谢!

编辑: 这是我的完整网格声明,以供进一步理解。 SASS 变量名称希望是不言自明的。

包装器

$grid-wrapper-columns: auto;
$grid-wrapper-rows: 45px 100px auto;
$grid-wrapper-area: "menu" 
"context-header"
"main";

主要

$grid-main-columns: 15em auto;
$grid-main-rows: auto;
$grid-main-area: "sidebar" "content";

内容

$grid-content-columns: 80% 20%;
$grid-content-rows: auto;
$grid-content-area: "content-left" "content-right";

最佳答案

您只需要将名称交换到斜杠的左侧,如下所示:

grid: "sidebar" "content" auto / 15em auto;

渲染到:

grid-template-rows: auto auto;
grid-template-columns: 15em auto;
grid-template-areas: "sidebar" "content";
grid-auto-rows: auto;
grid-auto-columns: auto;
grid-auto-flow: row;

关于html - CSS 网格简写 - 网格区域属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51708243/

相关文章:

html - 如何将没有内容的跨度变成分隔线?

php - 把PHP分成3列,一一展示

javascript - 我可以在同一个项目中拥有 Django url 和 Vue 路由吗?

java - 使用 Flying Saucer 和 CSS 进行分段页数统计

php - 如何在每个 MySQL 字段结果之间放置标记?

jquery - 从选择中更改类别

android - 图片未显示在 Phone Gap 应用程序中

javascript - 如何在文本和表格之间切换?

javascript - 应该很简单 : How to preserve data on a page of basic javascript/css/html when going to another page

javascript - 当网页位于子目录中时,如何避免使用 "../"?