<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-name
counter-reset
counter-increment
-
Запрещают глобальные значения CSS (
unset
,initial
иinherit
), а такжеnone
. @counter-style
list-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-row-start
grid-row-end
grid-column-start
grid-column-end
-
Запрещают значение
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>.
Спецификации
Совместимость с браузерами
Поскольку этот тип не является реальным типом, а служит соглашением, используемым для упрощения описания допустимых значений, информация о совместимости браузера как таковая отсутствует.