<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> (en-US). Более того, первый символ не должен быть цифрой или дефисом (-), если после него идёт ещё одна цифра или ещё один дефис.

Чтобы избежать неоднозначности, каждое свойство, использующее тип <custom-ident>, запрещает использование некоторых значений:

animation-namecounter-reset (en-US)counter-increment (en-US)

Запрещают глобальные значения CSS (unset, initial и inherit), а также none.

@counter-stylelist-style-type (en-US)

Запрещает глобальные значения 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, and disclosure-close.

grid-row-start grid-row-end (en-US) grid-column-start (en-US) grid-column-end (en-US)

Запрещают значение 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>.

Спецификации

Specification Status Comment
CSS Values and Units Module Level 4
Определение '<custom-ident>' в этой спецификации.
Редакторский черновик
CSS Will Change Module Level 1
Определение '<custom-ident> for will-change' в этой спецификации.
Кандидат в рекомендации Defines which values are excluded for will-change.
CSS Counter Styles Level 3
Определение '<custom-ident> for list-style-type' в этой спецификации.
Кандидат в рекомендации Uses <custom-ident> instead of a finite list of keywords. Defines which values are excluded for list-style-type (en-US) and @counter-style.
CSS Lists Module Level 3
Определение '<custom-ident> for counter-*' в этой спецификации.
Рабочий черновик Renames <identifier> to <custom-ident>. Adds its usage to the new counter-set property.
CSS Animations Level 1
Определение '<custom-ident> for animation-name' в этой спецификации.
Рабочий черновик Defines which values are excluded for animation-name.
CSS Values and Units Module Level 3
Определение '<custom-ident>' в этой спецификации.
Кандидат в рекомендации Renames <identifier> to <custom-ident>. Makes it a pseudo-type and forbids the use of excluded values.
CSS Level 2 (Revision 1)
Определение '<identifier>' в этой спецификации.
Рекомендация Initial definition.

Совместимость с браузерами

As this type is not a real type but a convenience type used to simplify the description of allowed values, there is no browser compatibility information as such.

Смотрите также