it-swarm.com.de

Platzieren von Unicode-Zeichen im CSS-Inhaltswert

Ich habe ein Problem. Ich habe den HTML-Code für den Abwärtspfeil gefunden, ↓ (↓)

Cool. Jetzt muss ich es in CSS so verwenden:

nav a:hover {content:"&darr";}

Das wird natürlich nicht funktionieren, da ↓ ein HTML-Symbol ist. Es scheint weniger Informationen über diese "Escape-Unicode" -Symbole zu geben, die in CSS verwendet werden. Es gibt andere Symbole wie \2020, die ich gefunden habe, aber keine Pfeile. Was sind die Pfeilcodes?

296
davecave

Warum speichern Sie die CSS-Datei nicht einfach als UTF-8?

nav a:hover:after {
    content: "↓";
}

Wenn das nicht gut genug ist und Sie alles im ASCII-Format behalten möchten:

nav a:hover:after {
    content: "\2193";
}

Das allgemeine Format für ein Unicode-Zeichen in einer Zeichenfolge lautet \000000 bis \FFFFFF - ein umgekehrter Schrägstrich, gefolgt von sechs hexadezimalen Ziffern. Sie können führende 0 Ziffern weglassen, wenn das Unicode-Zeichen das letzte Zeichen in der Zeichenfolge ist oder wenn Sie nach dem Unicode-Zeichen ein Leerzeichen einfügen. Weitere Informationen finden Sie in der unten stehenden Spezifikation.


Relevanter Teil der CSS2-Spezifikation :

Drittens ermöglichen umgekehrte Schrägstriche den Autoren, auf Zeichen zu verweisen, die sie nicht einfach in ein Dokument einfügen können. In diesem Fall folgt auf den umgekehrten Schrägstrich höchstens sechs hexadezimale Ziffern (0..9A..F), die für das ISO 10646 ( [ISO10646] ) -Zeichen mit dieser Zahl stehen und nicht dürfen Null sein. (In CSS 2.1 ist nicht definiert, was passiert, wenn ein Stylesheet ein Zeichen mit dem Unicode-Codepunkt Null enthält .) Wenn ein Zeichen im Bereich [0-9a-fA-F] folgt die hexadezimale Zahl, muss das Ende der Zahl deutlich gemacht werden. Dafür gibt es zwei Möglichkeiten:

  1. mit einem Leerzeichen (oder einem anderen Leerzeichen): "\ 26 B" ("& B"). In diesem Fall sollten Benutzerprogramme ein "CR/LF" -Paar (U + 000D/U + 000A) als ein einzelnes Leerzeichen behandeln.
  2. durch die Angabe von genau 6 hexadezimalen Ziffern: "\ 000026B" ("& B")

Tatsächlich können diese beiden Methoden kombiniert werden. Nach einem hexadezimalen Escapezeichen wird nur ein Leerzeichen ignoriert. Beachten Sie, dass dies bedeutet, dass ein "realer" Raum nach der Escape-Sequenz verdoppelt werden muss.

Wenn die Zahl außerhalb des von Unicode zulässigen Bereichs liegt (z. B. "\ 110000" über dem in aktuellem Unicode zulässigen Maximum von 10FFFF liegt), kann der UA das Escape-Zeichen durch das "Ersetzungszeichen" (U + FFFD) ersetzen. Wenn das Zeichen angezeigt werden soll, sollte auf der UA ein sichtbares Symbol angezeigt werden, z. B. ein Symbol für "fehlendes Zeichen" (vgl. 15.2, Punkt 5).

  • Hinweis: Backslash-Escapes werden immer als Teil eines Bezeichners oder eines Strings betrachtet (dh "\ 7B" ist keine Interpunktion, auch wenn "{" ist und "\ 32" am zulässig ist Beginn eines Klassennamens, obwohl "2" nicht ist).
    Der Bezeichner "te\st" ist genau der gleiche Bezeichner wie "test".

Umfassende Liste: nicode-Zeichen 'DOWNWARDS ARROW' (U + 2193) .

452
Matt Ball