Übersicht
Die @charset
CSS At-Regel gibt die Zeichenkodierung an, die in dem Stylesheet verwendet wird. Sie muss das erste Element im Stylesheet sein und ihr darf kein Zeichen vorangestellt werden; da sie kein verschachtelter Ausdruck ist, kann sie nicht innerhalb bedingten Gruppen At-Regeln verwendet werden. Falls mehrere @charset
At-Regeln definiert sind, wird nur die erste verwendet. Und sie kann auch nicht innerhalb eines style
Attributs eines HTML Elements oder innerhalb des <style>
Elements verwendet werden, in dem die Zeichenkodierung der HTML Seite ausschlaggebend ist.
Diese At-Regel ist nützlich, wenn nicht-ASCII Zeichen in manchen CSS Eigenschaften wie content
verwendet werden.
Da es mehrere Möglichkeiten gibt, die Zeichenkodierung eines Stylesheets anzugeben, versucht der Browser die folgenden Methoden in der angegebenen Reihenfolge (und stoppt, sobald eine ein Ergebnis zurückliefert):
- Der Wert des Unicode Bytereihenfolge Zeichens, das am Anfang der Datei gesetzt ist.
- Der Wert, der durch das
charset
Attribut desContent-Type:
HTTP-Headers angegeben wurde oder das Äquivalent hierzu im Protokoll, das verwendet wird, um das Stylesheet zu übertragen. - Die
@charset
CSS At-Regel. - Benutze die Zeichenkodierung, die durch das referenzierte Dokument angegeben wird: Das
charset
Attribut des<link>
Elements. Diese Methode ist veraltet in HTML5 und darf nicht verwendet werden. - Nimm an, dass das Dokument UTF-8 kodiert ist.
Syntax
@charset "UTF-8"; @charset 'iso-8859-15';
- charset
- Ist ein
<string>
, der die zu verwendende Zeichenkodierung angibt. Dies muss der Name einer websicheren Zeichenkodierung sein, wie sie in der IANA Registrierung definiert wird. Falls mehrere Namen mit einer Kodierung assoziiert werden, wird nur der verwendet, der mit preferred gekennzeichnet ist.
Formale Syntax
@charset "<charset>";
Beispiele
Gültige Bespiele:
@charset "UTF-8"; /* Setzt die Kodierung des Stylesheets auf Unicode UTF-8 */ @charset 'iso-8859-15'; /* Setzt die Kodierung des Stylesheets auf Latin-9 (Westeuropäische Sprachen, mit Eurozeichen) */
Ungültige Beispiele:
@charset "UTF-8"; /* Ungültig, da ein Zeichen (Leerzeichen) vor der At-Regel steht */
@charset UTF-8; /* Ungültig, da kein ' oder " angegeben wurde, die Zeichenkodierung ist kein CSS <string>
*/
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
CSS Level 2 (Revision 1) Die Definition von '@charset' in dieser Spezifikation. |
Empfehlung | Ursprüngliche Definition |
Browser Kompatibilität
Merkmal | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Grundlegende Unterstützung | 2.0 | 1.5 (1.8)[1] | 5.5[2] | 9 | 4 |
Merkmal | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Grundlegende Unterstützung | 2.1 | 1.0 (1.8) | 5.5[2] | 10.0 | 4 |
[1] Firefox 1.0 hat nur eine ungültige Syntax unterstützt, in der die Zeichenkodierung nicht von einfachen oder doppelten Anführungszeichen umschlossen war.
[2] Von IE 5.5 bis einschließlich IE 7 hat der Internet Explorer ebenfalls die ungültige Syntax unterstützt, in der die Zeichenkodierung nicht von einfachen oder doppelten Anführungszeichen umschlossen war.