<custom-ident>
CSS тип данных <custom-ident> включает любые определённые пользователем строки, используемые в качестве идентификатора. Они чувствительны к регистру, некоторые значения запрещены в разных контекстах, чтобы избежать неоднозначности.
Синтаксис
Синтаксис <custom-ident> похож на синтаксис CSS идентификаторов (таких, как названия свойств), за исключением того, что значения <custom-ident> чувствительны к регистру. Они состоят из одного или более следующих символов:
- буквы латинского алфавита(от
AдоZ, отaдоz), - десятеричные цифры (от
0до9), - дефис (
-), - нижнее подчёркивание (
_), - экранированный символ (символ с бэкслешем перед ним,
\), - символ Unicode (бэкслеш,
\, после которого идут от одной до шести шестнадцатеричных цифр, обозначающих кодовую точку этого символа в Unicode)
Обратите внимание, что id1, Id1, iD1 и ID1 — это разные идентификаторы, поскольку они чувствительны к регистру. С другой стороны, так как существует несколько способов экранировать символ, toto\? и toto\3F — это один и тот же идентификатор.
Запрещённые значения
<custom-ident> не может быть заключён в одинарные или двойные кавычки, потому что иначе он не был бы отличим от значения типа <string>. Более того, первый символ не должен быть цифрой или дефисом (-), если после него идёт ещё одна цифра или ещё один дефис.
Чтобы избежать неоднозначности, каждое свойство, использующее тип <custom-ident>, запрещает использование некоторых значений:
animation-namecounter-resetcounter-increment-
Запрещают глобальные значения CSS (
unset,initialиinherit), а такжеnone. @counter-stylelist-style-type-
Запрещает глобальные значения CSS (
unset,initialиinherit), а также значенияnone,inlineиoutside. Также довольно много предопределённых значений используются в разных браузерах:disc,circle,square,decimal,cjk-decimal,decimal-leading-zero,lower-roman,upper-roman,lower-greek,lower-alpha,lower-latin,upper-alpha,upper-latin,arabic-indic,armenian,bengali,cambodian,cjk-earthly-branch,cjk-heavenly-stem,cjk-ideographic,devanagari,ethiopic-numeric,georgian,gujarati,gurmukhi,hebrew,hiragana,hiragana-iroha,japanese-formal,japanese-informal,kannada,katakana,katakana-iroha,khmer,korean-hangul-formal,korean-hanja-formal,korean-hanja-informal,lao,lower-armenian,malayalam,mongolian,myanmar,oriya,persian,simp-chinese-formal,simp-chinese-informal,tamil,telugu,thai,tibetan,trad-chinese-formal,trad-chinese-informal,upper-armenian,disclosure-open, anddisclosure-close. grid-column-endgrid-column-startgrid-row-endgrid-row-start-
Запрещают значение
span. will-change-
Запрещают глобальные значения CSS (
unset,initialиinherit), а так же значенияwill-change,auto,scroll-positionиcontents.
Примеры
>Действительные идентификаторы
nono79 Состоит из букв и цифр ground-level Состоит из букв, цифр и дефиса -test Буквы, следующие за одним дефисом _internal Буквы, следующие за нижним подчёркиванием \22 toto Буквы, следующие за символом Unicode bili\.bob Буквы и экранированная точка
Недействительные идентификаторы
34rem Не может начинаться с цифры -12rad Не может начинаться с дефиса, за которым следует цифра bili.bob Только буквы, цифры, _ и - можно не экранириовать --toto Не может начинаться с двух дефисов подряд 'bilibob' Это тип <string>. "bilibob" Это тип <string>.
Спецификации
Совместимость с браузерами
Поскольку этот тип не является реальным типом, а служит соглашением, используемым для упрощения описания допустимых значений, информация о совместимости браузера как таковая отсутствует.