为什么 CSS 命名的网格区域不加引号?
根据 CSS 网格规范,网格区域的值被定义为网格线,即使用自定义标识类型。然而,根据 MDN 文档,标识符不能被引用,因为这会导致字符串值。这就提出了为什么必须使用不带引号的 ID 来访问命名网格区域的问题。
为了说明该问题,请考虑以下示例:
.grid { display: grid; grid: "a b" 1fr "c d" 1fr / 1fr 1fr; } .foo { /* This works as expected, assigning the element to area 'b' in the upper right corner */ grid-area: b; } .bar { /* Quoting the area name fails to resolve correctly */ grid-area: "c"; }
<div class="grid"> <span class="foo">foo</span> <span class="bar">bar</span> <span class="hello">hello</span> </div>
在此示例中,使用不带引号的网格区域将 foo 元素分配给 b 区域:b。然而,当尝试使用带引号的网格区域:“c”将 bar 分配给 c 区域时,它无法正确解析。
这种看似违反直觉的行为是由于决定使用自定义标识符而不是字符串而引起的– 表示命名的网格区域。通常,CSS 属性使用标识符作为其值,但 font-family、content 和 grid-template-areas 等例外使用带引号的字符串。
选择背后的原因
CSS 网格规范开发人员选择在命名网格区域中使用标识符而不是字符串,主要是为了与 CSS 规范的其余部分保持一致。来自规范编写者 2013 年的讨论:
[使用标识符] 具有以下好处:
- 使用标识符,与 CSS 的其余部分一致
- 提供标识同一位置的名称的视觉分组
- 允许命名网格区域模板语法(使用字符串)与网格模板速记中的命名行共存。
此外,2013 年的另一次讨论强调:
查看当前在 grid-definition-rows/columns 中声明命名网格线的语法,我们得出的结论是,当前语法太糟糕了:
- 我们使用字符串来表示用户身份,这与 CSS 中的其他所有内容不一致。
结论
虽然可能没有强有力的技术理由来优先选择专门用于命名网格区域的标识符,但规范作者的目标是与 CSS 中的通用方法保持一致。通过使用标识符,命名网格区域与大多数 CSS 属性保持一致,并提供一致的用户体验。
以上是为什么 CSS 命名网格区域不需要引号?的详细内容。更多信息请关注PHP中文网其他相关文章!

我最近找到了一种动态更新任何产品图像的颜色的解决方案。因此,只有一种产品之一,我们可以以不同的方式对其进行着色以显示

在本周的综述中,灯塔在第三方脚本上阐明了灯光,不安全的资源将在安全站点上被阻止,许多国家连接速度

有很多分析平台可帮助您跟踪网站上的访问者和使用数据。也许最著名的是Google Analytics(广泛使用)

文档负责人可能不是网站上最迷人的部分,但是其中所处的内容对于您的网站的成功也一样重要

当您看到一些称为super()的JavaScript时,在子类中,您会使用super()调用其父母的构造函数和超级。访问它的


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Atom编辑器mac版下载
最流行的的开源编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版
好用的JavaScript开发工具