@charset
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since juillet 2015.
La règle @ CSS @charset
spécifie l'encodage des caractères utilisé dans la feuille de style. Cette syntaxe est utile lorsque vous utilisez des caractères non-ASCII dans certaines propriétés CSS, comme content
. Bien que le premier caractère de @charset
soit le symbole @
, il ne s'agit pas d'une règle at. C'est une séquence d'octets spécifique qui ne peut être placée qu'au tout début d'une feuille de style. Aucun autre caractère, à l'exception du marqueur d'ordre des octets Unicode, n'est autorisé avant. Elle ne suit pas non plus les règles habituelles de syntaxe CSS, comme l'utilisation de guillemets ou d'espaces.
Si un @charset
n'est pas reconnu comme déclaration d'encodage, il est analysé comme une règle @ normale. Le module de syntaxe CSS déconseille ce comportement de repli, le définissant comme une règle héritée non reconnue à ignorer lors de la vérification grammaticale d'une feuille de style.
Comme il existe plusieurs façons de définir l'encodage d'une feuille de style, le navigateur essaiera les méthodes suivantes dans l'ordre (et s'arrêtera dès qu'une méthode aboutit) :
- La valeur du caractère Indicateur d'ordre des octets placé au début du fichier.
- La valeur donnée par l'attribut
charset
de l'en-tête HTTPContent-Type:
ou l'équivalent dans le protocole utilisé pour servir la feuille de style. - La déclaration CSS
@charset
. - Utiliser l'encodage défini par le document référent : l'attribut
charset
de l'élément<link>
. Cette méthode est obsolète et ne doit pas être utilisée. - Supposer que le document est en UTF-8.
Syntaxe
@charset "UTF-8";
@charset "iso-8859-15";
Paramètres
charset
-
Est une chaîne de caractères (une valeur CSS de type
<string>
) indiquant l'encodage qui doit être utilisé. Cette valeur doit correspondre à un nom d'encodage valide pour le Web tel que défini dans le registre IANA (angl.) et doit être délimitée par des doubles quotes, précédée d'un blanc (U+0020) et suivie d'un point-virgule. Si plusieurs noms sont associés avec l'encodage, seul celui marqué avec préféré (preferred) doit être utilisé.
Syntaxe formelle
Notez que la règle @charset
n'est pas analysée via la syntaxe, mais via une séquence d'octets spécifique de la forme suivante :
@charset "<charset>";
Exemples
>Déclarations de charset valides et invalides
@charset "UTF-8"; /* Valide, la feuille de style est encodée en Unicode UTF-8 */
@charset 'iso-8859-15'; /* Invalide, guillemets incorrects utilisés */
@charset "UTF-8"; /* Invalide, plus d'un espace */
@charset "UTF-8"; /* Invalide, il y a un caractère (un espace) avant la règle @ */
@charset UTF-8; /* Invalide, le jeu de caractères n'est pas une chaîne CSS (<string>
) */
Spécifications
Specification |
---|
CSS Syntax Module Level 3> # at-ruledef-charset> |
Compatibilité des navigateurs
Loading…
Voir aussi
- Jeu de caractères dans le glossaire
- Unicode dans le glossaire