<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, and disclosure-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>.

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

Specification Status Comment
CSS Values and Units Module Level 4
Определение '<custom-ident>' в этой спецификации.
Редакторский черновик
CSS Will Change Module Level 1
Определение '<custom-ident> for will-change' в этой спецификации.
Кандидат в рекомендации Определяет, какие значения запрещены в will-change.
CSS Counter Styles Level 3
Определение '<custom-ident> for list-style-type' в этой спецификации.
Кандидат в рекомендации Начинает использовать <custom-ident> вместо конечного списка ключевых слов. Определяет, какие значения запрещены в list-style-type и @counter-style.
CSS Lists Module Level 3
Определение '<custom-ident> for counter-*' в этой спецификации.
Рабочий черновик Переименовывает <identifier> в <custom-ident>. Добавляет возможность его использовать в свойстве counter-set.
CSS Animations Level 1
Определение '<custom-ident> for animation-name' в этой спецификации.
Рабочий черновик Определяет запрещённые значения для animation-name.
CSS Values and Units Module Level 3
Определение '<custom-ident>' в этой спецификации.
Кандидат в рекомендации Переименовывает <identifier> в <custom-ident>. Делает его псевдо-типом и запрещает использование некоторых значчений.
CSS Level 2 (Revision 1)
Определение '<identifier>' в этой спецификации.
Рекомендация Первое определение.

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

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.

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