<custom-ident>
Der <custom-ident> CSS Datentyp bezeichnet eine beliebige, benutzerdefinierte Zeichenfolge, die als Identifikator verwendet wird. Er ist groß-/kleinschreibungssensitiv, und bestimmte Werte sind in verschiedenen Kontexten verboten, um Mehrdeutigkeiten zu vermeiden.
Syntax
Die Syntax von <custom-ident> ähnelt CSS-Identifikatoren (wie Eigenschaftsnamen), mit der Ausnahme, dass er groß-/kleinschreibungssensitiv ist. Er besteht aus einem oder mehreren Zeichen, wobei Zeichen eines der folgenden sein können:
- ein beliebiges alphabetisches Zeichen (
AbisZ, oderabisz), - eine Dezimalziffer (
0bis9), - ein Bindestrich (
-), - ein Unterstrich (
_), - ein maskiertes Zeichen (eingeleitet durch einen Backslash,
\), - ein Unicode-Zeichen (im Format eines Backslashes,
\, gefolgt von ein bis sechs hexadezimalen Ziffern, die seinen Unicode-Codepunkt darstellen)
Beachten Sie, dass id1, Id1, iD1 und ID1 unterschiedliche Identifikatoren sind, da sie groß-/kleinschreibungssensitiv sind.
Maskierung von Zeichen
Jeder Unicode-Codepunkt kann als Teil eines <custom-ident> oder zitierten <string> durch Maskierung eingeschlossen werden.
In CSS gibt es mehrere Möglichkeiten, ein Zeichen zu maskieren. Maskierungsfolgen beginnen mit einem Backslash (\) und werden fortgesetzt mit:
- Ein bis sechs hexadezimale (
ABCDEF0123456789) Ziffern. Die hexadezimalen Ziffern können optional von einem Leerzeichen gefolgt sein. Die hexadezimale Maskierungssequenz wird durch den Unicode-Codepunkt ersetzt, dessen Wert durch diese Ziffern gegeben ist. Das Leerzeichen erlaubt es, dass die Sequenzen von tatsächlichen hexadezimalen Ziffern (im Gegensatz zu ersetzten) gefolgt werden. - Jeder Unicode-Codepunkt, der keine hexadezimale Ziffer oder ein Zeilenumbruch 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 ein Leerzeichen nach einer Maskierungssequenz einzuschließen, fügen Sie zwei Leerzeichen in die Maskierungssequenz ein.
Verbotene Werte
Ein <custom-ident> darf nicht in einfache oder doppelte Anführungszeichen gesetzt werden, da dies einem <string> identisch wäre. Außerdem darf das erste Zeichen keine Dezimalziffer sein, noch ein Bindestrich (-), gefolgt von einer Dezimalziffer.
Um Mehrdeutigkeit zu verhindern, verbietet jede Eigenschaft, die <custom-ident> verwendet, die Nutzung bestimmter Werte:
animation-name-
Verbietet die globalen CSS-Werte (
unset,initialundinherit) sowienone. counter-reset,counter-increment-
Verbietet die globalen CSS-Werte (
unset,initialundinherit) sowienone. @counter-style,list-style-type-
Verbietet die globalen CSS-Werte (
unset,initialundinherit) sowie die Werte:noneinlineoutside
Auch werden einige vordefinierte Werte von 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,initialundinherit) sowienone. will-change-
Verbietet die globalen CSS-Werte (
unset,initialundinherit) sowie die Wertewill-change,auto,scroll-positionundcontents.
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 realer Typ ist, sondern ein Bequemlichkeitstyp zur Vereinfachung der Beschreibung der erlaubten Werte, gibt es keine Browser-Kompatibilitätsinformationen als solche.