<custom-ident> CSS-Typ
Der <custom-ident> CSS Datentyp bezeichnet eine beliebige, vom Benutzer definierte Zeichenkette, die als Identifier verwendet wird. Er ist case-sensitiv, und bestimmte Werte sind in verschiedenen Kontexten verboten, um Mehrdeutigkeiten zu vermeiden.
Syntax
Die Syntax von <custom-ident> ist ähnlich wie bei CSS-Identifikatoren (wie Eigenschaftsnamen), mit dem Unterschied, dass sie case-sensitiv ist. Sie besteht aus einem oder mehreren Zeichen, wobei die Zeichen wie folgt sein können:
- ein beliebiges alphabetisches Zeichen (
AbisZoderabisz), - eine beliebige Dezimalziffer (
0bis9), - ein Bindestrich (
-), - ein Unterstrich (
_), - ein entwertetes Zeichen (vorangestellt durch einen Backslash,
\), - ein Unicode-Zeichen (im Format eines Backslashs,
\, gefolgt von ein bis sechs hexadezimalen Ziffern, die seinen Unicode-Codepunkt darstellen)
Beachten Sie, dass id1, Id1, iD1 und ID1 alle unterschiedliche Identifikatoren sind, da sie case-sensitiv sind.
Entwerten von Zeichen
Jeder Unicode-Codepunkt kann als Teil eines <custom-ident> oder in einem <string> aufgenommen werden, indem man ihn entwertet.
In CSS gibt es mehrere Möglichkeiten, ein Zeichen zu entwerten. Escape-Sequenzen beginnen mit einem Backslash (\) und setzen sich fort mit:
- Einer bis sechs hexadezimalen (
ABCDEF0123456789) Ziffern. Die hexadezimalen Ziffern können optional durch ein Leerzeichen gefolgt werden. Die hexadezimale Escape-Sequenz wird durch den Unicode-Codepunkt ersetzt, dessen Wert durch diese Ziffern angegeben wird. Das Leerzeichen ermöglicht es den Sequenzen, von tatsächlichen hexadezimalen Ziffern (im Gegensatz zu ersetzten) gefolgt zu werden. - Jedem Unicode-Codepunkt, der keine hexadezimale Ziffer oder ein Zeilenumbruchzeichen ist.
Beispiele:
- "&B" kann als
\26 Boder\000026Bgeschrieben werden. - "hi.there" kann als
hi\.thereoderhi\002Etheregeschrieben werden. - "toto?" kann als
toto\?,toto\3Fodertoto\00003Fgeschrieben werden.
Um tatsächlich Leerzeichen nach einer Escape-Sequenz einzufügen, müssen zwei Leerzeichen in der Escape-Sequenz enthalten sein.
Verbotene Werte
Ein <custom-ident> darf nicht in einfache oder doppelte Anführungszeichen gesetzt werden, da dies mit einem <string> identisch wäre. Außerdem darf das erste Zeichen keine Dezimalziffer sein, noch darf es sich um einen Bindestrich (-) handeln, der von einer Dezimalziffer gefolgt wird.
Um Mehrdeutigkeiten zu vermeiden, verbietet jede Eigenschaft, die <custom-ident> verwendet, die Verwendung spezifischer Werte:
animation-name-
Verbietet die globalen CSS-Werte (
unset,initial, undinherit), sowienone. counter-reset,counter-increment-
Verbietet die globalen CSS-Werte (
unset,initial, undinherit), sowienone. @counter-style,list-style-type-
Verbietet die globalen CSS-Werte (
unset,initial, undinherit), sowie die folgenden Werte:noneinlineoutside
Außerdem werden viele vordefinierte Werte von den verschiedenen Browsern implementiert:
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-
Verbietet die Werte
spanundauto. view-transition-name-
Verbietet die globalen CSS-Werte (
unset,initial, undinherit), sowienone. will-change-
Verbietet die globalen CSS-Werte (
unset,initial, undinherit), sowie die Wertewill-change,auto,scroll-position, undcontents.
Beispiele
>Gültige Identifikatoren
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
Ungültige Identifikatoren
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>.
Spezifikationen
Browser-Kompatibilität
Da dieser Typ kein echter Typ ist, sondern ein Bequemlichkeitstyp zur Vereinfachung der Beschreibung erlaubter Werte, gibt es keine Informationen zur Browser-Kompatibilität.