語法
CSS 識別符號由一個或多個字元組成,可以是以下任意字元:
- 範圍
A-Z和a-z中的任意 ASCII 字元 - 任意十進位制數字 (
0到9) - 連字元 (
-) - 下劃線 (
_) - 任意其他 Unicode 字元
U+00A0及以上(即,任何其他非 ASCII Unicode 字元) - 跳脫字元
此外,識別符號不能以未轉義的數字開頭,也不能以未轉義的連字元後跟未轉義的數字開頭。
請注意,id1、Id1、iD1 和 ID1 都是不同的識別符號,因為它們是區分大小寫的。另一方面,由於有幾種方法可以跳脫字元,所以 toto\? 和 toto\3F 是相同的識別符號。
跳脫字元
跳脫字元意味著以一種改變軟體系統解釋方式的方式來表示它。在 CSS 中,您可以透過在字元前面新增反斜槓 (\) 來跳脫字元。除了十六進位制數字 0-9、a-f 和 A-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 語法定義的便捷型別,因此沒有此類瀏覽器相容性資訊。