Spec-Zone.ru › CSS

CSS-тип `<custom-ident>`

<custom-ident> — CSS-тип данных, обозначающий произвольную пользовательскую строку, используемую в качестве идентификатора. Он чувствителен к регистру, а в различных контекстах некоторые значения запрещены, чтобы избежать неоднозначности.

Синтаксис

Синтаксис <custom-ident> похож на синтаксис идентификаторов CSS (например, имён свойств), за исключением того, что он чувствителен к регистру. Он состоит из одного или нескольких символов. Символами могут быть:

  • любая буква (A–Z или a–z),
  • любая десятичная цифра (0–9),
  • дефис (-),
  • знак подчёркивания (_),
  • экранированный символ (с предшествующей обратной косой чертой, \),
  • символ Юникода (обратная косая черта, \, за которой следует от одной до шести шестнадцатеричных цифр, обозначающих кодовую точку Юникода)

Обратите внимание, что id1, Id1, iD1 и ID1 — это разные идентификаторы, поскольку они чувствительны к регистру.

Экранирование символов

Любую кодовую точку Юникода можно включить в <custom-ident> или заключённую в кавычки <string>, экранировав её.

В CSS есть несколько способов экранировать символ. Последовательности экранирования начинаются с обратной косой черты (\), за которой следует:

  • От одной до шести шестнадцатеричных (ABCDEF0123456789) цифр. После шестнадцатеричных цифр может указываться пробельный символ. Последовательность шестнадцатеричного экранирования заменяется кодовой точкой Юникода, значение которой задаётся этими цифрами. Пробел позволяет за последовательностью указывать настоящие шестнадцатеричные цифры, а не символы, на которые она заменяется.
  • Любая кодовая точка Юникода, не являющаяся шестнадцатеричной цифрой или символом новой строки.

Примеры:

  • "&B" можно записать как \26 B или \000026B.
  • "hi.there" можно записать как hi\.there или hi\002Ethere.
  • "toto?" можно записать как toto\?, toto\3F или toto\00003F.

Чтобы добавить настоящий пробельный символ после последовательности экранирования, укажите в ней два пробела.

Запрещённые значения

Значение <custom-ident> нельзя заключать в одинарные или двойные кавычки, поскольку тогда оно будет идентично <string>. Кроме того, первым символом не может быть десятичная цифра или дефис (-), за которым следует десятичная цифра.

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

animation-name
Запрещает глобальные значения CSS (unset, initial и inherit), а также none.
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
  • disclosure-close
grid-row-start, grid-row-end, grid-column-start, grid-column-end, grid-template-rows, grid-template-columns
Запрещает значения span и auto.
view-transition-name
Запрещает глобальные значения CSS (unset, initial и inherit), а также none.
will-change
Запрещает глобальные значения CSS (unset, initial и inherit), а также значения will-change, auto, scroll-position и contents.

Примеры

Допустимые идентификаторы

nono79            A mix of alphanumeric characters and numbers
ground-level      A mix of alphanumeric characters and a dash
-test             A dash followed by alphanumeric characters
_internal         An underscore followed by alphanumeric characters
\22 toto          A Unicode character followed by a sequence of alphanumeric characters
scooby\.doo       A correctly escaped period

Недопустимые идентификаторы

34rem             It must not start with a decimal digit.
-12rad            It must not start with a dash followed by a decimal digit.
scooby.doo        Only alphanumeric characters, _, and - needn't be escaped.
'scoobyDoo'       This would be a <string>.
"scoobyDoo"       This would be a <string>.

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

Спецификация
Модуль значений и единиц CSS, уровень 4
# custom-idents
Модуль CSS Will Change, уровень 1
# valdef-will-change-custom-ident
Стили счётчиков CSS, уровень 3
# typedef-counter-style-name
Модуль списков и счётчиков CSS, уровень 3
# counter-properties

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

Поскольку этот тип не является настоящим типом, а служит для упрощения описания допустимых значений, отдельной информации о совместимости с браузерами нет.

См. также

  • <ident>
  • <dashed-ident>

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/custom-ident

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API