搜索
首页web前端css教程为什么 CSS 命名的网格区域不需要在 `grid-area` 中加引号?

Why Don't CSS Named Grid Areas Require Quotes in `grid-area`?

为什么 CSS 命名的网格区域不包含在引号中

根据 CSS 网格规范,网格区域值被分类为网格线,而网格线又是使用自定义标识。 MDN 文档强调 ID 不能包含在引号内,因为这会将它们转换为字符串。然而,当组合这些概念时,很明显,命名网格区域应该通过不带引号的 ID 来访问。

下面的示例说明了这种区别:

.grid {
    display: grid;
    grid: "a b" 1fr "c d" 1fr / 1fr 1fr;
}

.foo {
    grid-area: b;
}

.bar {
    grid-area: "c";
}

在分配值时 " b" 到网格区域按预期工作,将区域名称括在引号中(例如“c”)会导致错误识别。这种行为可能看起来不直观,因为网格区域名称在定义时通常用引号括起来(例如 grid: "area1 area2" / 1fr 1fr;)。然而,在这种情况下,它们被视为标识符,类似于变量名称。

设计原理

CSS 网格规范背后的开发人员选择在命名网格区域中使用标识符而不是字符串,主要是因为与更广泛的 CSS 框架保持一致。绝大多数 CSS 属性都使用标识符而不是字符串作为其值。值得注意的例外包括字体系列、内容和网格模板区域,它们允许两者。

在 2013 年的讨论中,规范编写者强调了使用标识符的以下好处:

  • 与流行的 CSS 约定保持一致
  • 标识相同名称的清晰视觉分组location
  • 命名网格区域模板语法(使用字符串)与 grid-template 速记中的命名行之间的兼容性

实现细节

CSS 网格定义命名使用 grid-area 属性的网格区域,可以在 grid-template-areas 中引用。考虑以下示例:

.grid {
    display: grid;
    grid-template-areas: "   logo    nav     nav   "
                         " content content content "
                         " footer  footer   footer " ;
}

.logo  { grid-area: logo;    }
nav    { grid-area: nav;     }
main   { grid-area: content; }
footer { grid-area: footer;  }

在容器上使用速记网格属性的另一个示例:

.grid {
    display: grid;
    grid: "a b" 1fr "c d" 1fr / 1fr 1fr;
}

.foo {
    grid-area: b;
}

在第二个示例中,速记符号转换为:

grid-template-rows: 1fr 1fr;
grid-template-columns: 1fr 1fr;
grid-template-areas: "a b"
                     "c d";

在 grid-template-areas 中,命名的网格区域封装在字符串中。相反,grid-area 将它们分配为标识符 ()。

CSS 中的标识符和字符串

CSS 值和单位模块规范将标识符定义为:

"...符合 语法的字符序列。标识符不能用引号引起来;否则它们会CSS 属性接受两类标识符:预定义的关键字和作者定义的标识符。”

另一方面,字符串由 表示。并且由用双引号或单引号括起来的字符组成。

网格区域中标识符使用的基本原理

根据规范编写者的说法,在网格区域值中使用标识符而不是字符串的决定是基于对一致性的渴望。标识符是 CSS 中的主要值类型,网格区域也将效仿。

以上是为什么 CSS 命名的网格区域不需要在 `grid-area` 中加引号?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
滑动页脚滑动页脚Apr 09, 2025 am 11:50 AM

刚刚推出了一个引人入胜的新网站。标语:Big Tech正在看着您。我们正在看大型技术。上升的出色工作。这

喜欢的页面喜欢的页面Apr 09, 2025 am 11:47 AM

前几天,我发布了有关在JavaScript中解析RSS提要的内容。我还发布了有关RSS设置的信息,讨论了Feedbin的核心。

重新创建Codepen Gutenberg嵌入块以进行理智。重新创建Codepen Gutenberg嵌入块以进行理智。Apr 09, 2025 am 11:43 AM

学习如何通过Chris Coyier实施WordPress的Gutenberg编辑器来创建一个自定义Codepen块,并为Sanity Studio提供预览。

如何使用CSS制作线路图如何使用CSS制作线路图Apr 09, 2025 am 11:36 AM

线,条和饼图是仪表板的面包和黄油,是任何数据可视化工具包的基本组成部分。当然,您可以使用SVG

编程SASS创建可访问的颜色组合编程SASS创建可访问的颜色组合Apr 09, 2025 am 11:30 AM

我们一直在寻求使网络更容易访问。颜色对比只是数学,因此Sass可以帮助涵盖设计师可能错过的边缘案例。

我们如何创建一个在SVG中生成格子呢模式的静态站点我们如何创建一个在SVG中生成格子呢模式的静态站点Apr 09, 2025 am 11:29 AM

格子呢是一块图案布,通常与苏格兰有关,尤其是他们时尚的苏格兰语。在Tar​​tanify.com上,我们收集了5,000多个格子呢

PHP模板的后续行动PHP模板的后续行动Apr 09, 2025 am 11:14 AM

不久前,我仅以PHP(基本上是Heredoc语法)发布了有关PHP模板的信息。我从字面上使用该技术来进行某种超级基础

使用Bootstrap组件创建模态图像库使用Bootstrap组件创建模态图像库Apr 09, 2025 am 11:10 AM

您是否曾经在网页上单击图像,该图像通过导航打开图像的较大版本以查看其他照片?

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用