<ident>

<ident> CSS 数据类型 表示用作 标识符 的任意字符串。

语法

CSS 标识符由一个或多个字符组成,这些字符可以是以下任何一个

  • 范围为 A-Za-z 的任何 ASCII 字符
  • 任何十进制数字 (09)
  • 连字符 (-)
  • 下划线 (_)
  • 任何其他 Unicode 字符 U+00A0 及以上(即任何其他非 ASCII Unicode 字符)
  • 一个 转义字符

此外,标识符不能以未转义的数字开头,也不能以未转义的连字符后跟未转义的数字开头。

请注意,id1Id1iD1ID1 都是不同的标识符,因为它们是 区分大小写 的。另一方面,由于有几种方法可以转义字符,因此 toto\?toto\3F 是相同的标识符。

转义字符

转义字符意味着以某种方式表示它,从而改变软件系统对其的解释方式。在 CSS 中,可以通过在字符前面添加反斜杠 (\) 来转义字符。除了十六进制数字 0-9a-fA-F 之外,任何字符都可以以这种方式转义。例如,& 可以转义为 \&

您还可以使用反斜杠后跟字符的 Unicode 代码点(用 1 到 6 个十六进制数字表示)来转义任何字符。例如,& 可以转义为 \26。在这种用法中,如果转义字符后跟十六进制数字,请执行以下操作之一

  • 在 Unicode 代码点之后放置空格或其他空白字符。
  • 提供正在转义的字符的完整六位 Unicode 代码点。

例如,字符串 &123 可以转义为 \26 123(带空格)或 \000026123(带 & 的六位 Unicode 代码点),以确保 123 不被视为转义模式的一部分。

示例

有效的标识符

nono79        /* A mix of alphanumeric characters and numbers */
ground-level  /* A mix of alphanumeric characters and a dash */
-test         /* A hyphen followed by alphanumeric characters */
--toto        /* A custom-property like identifier */
_internal     /* An underscore followed by alphanumeric characters */
\22 toto      /* An escaped character followed by alphanumeric characters */
\000022toto   /* Same as the previous example */
bili\.bob     /* A correctly escaped period */
🔥123         /* A non-ASCII character followed by numbers */

无效的标识符

34rem     /* Must not start with a decimal digit */
-12rad    /* Must not start with a dash followed by a decimal digit */
bili.bob  /* ASCII characters apart from alphanumerics must be escaped */
'bilibob' /* Treated as a string */
"bilibob" /* Treated as a string */

规范

规范
CSS 值和单位模块级别 4
# typedef-ident

浏览器兼容性

由于这种类型不是真正的类型,而是一种用于简化其他 CSS 语法定义的便利类型,因此没有相关的浏览器兼容性信息。

另请参阅