<ident>

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

语法

CSS 标识符由一个或多个字符组成,可以是以下任意字符:

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

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

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

转义字符

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

您还可以使用反斜杠后跟字符的 Unicode 码点(由一到六个十六进制数字表示)来转义任何字符。例如,& 可以转义为 \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 */
scooby\.doo   /* 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 */
scooby.doo  /* ASCII characters apart from alphanumerics must be escaped */
'scoobyDoo' /* Treated as a string */
"scoobyDoo" /* Treated as a string */

规范

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

浏览器兼容性

由于此类型不是真实类型,而是用于简化其他 CSS 语法定义的便捷类型,因此没有此类浏览器兼容性信息。

另见