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), а также следующие значения:noneinlineoutside
Кроме того, разные браузеры реализуют довольно много предопределённых значений:
disccirclesquaredecimalcjk-decimaldecimal-leading-zerolower-romanupper-romanlower-greeklower-alphalower-latinupper-alphaupper-latinarabic-indicarmenianbengalicambodiancjk-earthly-branchcjk-heavenly-stemcjk-ideographicdevanagariethiopic-numericgeorgiangujaratigurmukhihebrewhiraganahiragana-irohajapanese-formaljapanese-informalkannadakatakanakatakana-irohakhmerkorean-hangul-formalkorean-hanja-formalkorean-hanja-informallaolower-armenianmalayalammongolianmyanmaroriyapersiansimp-chinese-formalsimp-chinese-informaltamilteluguthaitibetantrad-chinese-formaltrad-chinese-informalupper-armeniandisclosure-opendisclosure-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>.
Спецификации
Совместимость с браузерами
Поскольку этот тип не является настоящим типом, а служит для упрощения описания допустимых значений, отдельной информации о совместимости с браузерами нет.
См. также
© 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