CSS/Wertetypen/Schlüsselwörter und Zeichenketten

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

CSS unterscheidet zwei Sorten von Zeichenketten.

Zum einen Schlüsselwörter, die eine genau definierte Bedeutung besitzen und keiner besonderen Kennzeichnung bedürfen. Zum anderen die eigentlichen Zeichenketten. Diese werden innerhalb von einfachen oder doppelten Anführungszeichen notiert.

Beispiel
width: auto; /* Schlüsselwort */
display: inline-block; /* Schlüsselwort */
content: 'Test:'; /* Zeichenkette */
color: "red"; /* Zeichenkette - Da 'color' keine Zeichenketten verarbeiten kann, wird die Deklaration ignoriert. */
Beachten Sie: Schlüsselwörter und Zeichenketten sind nicht austauschbar. Eine Eigenschaft die als Wert ein Schlüsselwort erwartet, wird eine gleichlautende Zeichenkette ignorieren. (color: "red"; ist nicht dasselbe wie color: red;)

Zeichen maskieren[Bearbeiten]

Schlüsselwörter, Zeichenketten und auch andere Bestandteile von CSS können aus Zeichen bestehen, die eine besondere Bedeutung besitzen, z.B. weil die Grammatik der Sprache dies erfordert. Damit diese besonderen Zeichen dennoch innerhalb von Zeichenketten verwendet werden können, müssen sie maskiert werden (der englische Fachbegriff lautet „escaping“).

Diese Maskierung wird durch einen umgekehrten Schrägstrich (Backslash, „\“) eingeleitet. Maskiert werden können beispielsweise Zeichen wie die einfachen und doppelten Anführungszeichen und der Backslash selbst. Das Maskieren von Zeilenumbrüchen führt dazu, dass der Zeilenumbruch gänzlich ignoriert wird.

Beispiel
"Das ist ein Backslash: \\." ergibt: Das ist ein Backslash: \.
"\"" ergibt: " - analog: '\'' ergibt: '
'Te\
st:' ergibt: Test - Dies ermöglicht Zeilenumbrüche, die der Lesbarkeit dienen.
Beachten Sie: Zeilenumbrüche, die nicht maskiert werden, führen dazu, dass die Eigenschaft, der der Wert zugewiesen wird, ignoriert wird. Wie Sie sichtbare Zeilenumbrüche in Zeichenketten notieren, erfahren Sie in den folgenden Abschnitten.

Sonderzeichen einfügen[Bearbeiten]

Der Backslash ist neben der Maskierung auch für das Einfügen von Sonderzeichen verantwortlich. Dazu muss direkt nach dem Backslash die Unicode-Adresse eines Zeichens in hexadezimaler Schreibweise notiert werden. Die hexadezimale Adresse kann bis zu sechs Stellen lang sein.

Beispiel
"\41" ergibt: A
"\000285" ergibt: ʅ
"\0000285" ergibt: (5 - Beachten Sie die Anzahl der Stellen in "\0000285"
Beachten Sie: Sonderzeichen können mitten in einer Zeichenkette notiert werden. Dabei werden die ersten sechs Zeichen nach dem Backslash, die aus einer Zahl oder den Buchstaben A bis F (unabhängig von der Schreibweise) bestehen, verarbeitet. Dies kann wie im Beispiel gezeigt zu unerwünschten Zeichen führen. Notieren Sie daher nach einem Sonderzeichen ein Leerzeichen. Das erste Leerzeichen nach einem maskierten Sonderzeichen wird immer ignoriert.

Zeilenumbrüche einfügen[Bearbeiten]

Um in einer Zeichenkette einen Zeilenumbruch einzufügen wird in CSS das Line-Feed-Zeichen verwendet. Dieses besitzt die Adresse U+000A (\A). Wenn die Zeichenkette innerhalb des Dokuments angezeigt wird (vgl. die content-Eigenschaft), ist dieses Zeichen der Leerzeichen-Normalisierung unterworfen. Das bedeutet, dass der Umbruch erst durch die Eigenschaft white-space sichtbar gemacht werden kann (pre-Werte).

Beispiel
content: "Zeile1 \A Zeile2"; ergibt: Zeile1 Zeile2
content: "Zeile1 \A Zeile2"; white-space: pre; ergibt: Zeile1 
Zeile2

Lediglich Zeilenumbrüche und zu maskierende Sonderzeichen müssen auf diese gesonderten Arten und Weisen eingefügt werden. Das geschützte Leerzeichen (\A0, vgl. Entity  ), der weiche Trennstrich (\AD, vgl. ­) und der geschützte Trennstrich (\2011) können auch direkt eingefügt werden.