Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 792767 of @charset

  • Raccourci de la révision : Web/CSS/@charset
  • Titre de la révision : @charset
  • ID de la révision : 792767
  • Créé :
  • Créateur : FredB
  • Version actuelle ? Non
  • Commentaire Mise à
Étiquettes : 

Contenu de la révision

{{ CSSRef() }}

Résumé

La règle @ CSS @charset définit l'encodage des caractères utilisés dans la feuille de style. Elle doit être le premier élément de la feuille de style et ne doit être précédée par aucun caractère. Comme ce n'est pas une expression imbriquée, elle ne peut pas être utilisée dans un groupe conditionnel de règles. Si plusieurs règles @charset sont définies, seule la première est utilisée, et elle ne peut pas être utilisée dans un attribut style d'un élément HTML ou dans l'élément {{HTMLElement("style")}} pour lequel le jeu de caractères pertinent est celui de la page HTML.

Cette règle @ est utile lorsque des caractères non-ASCII sont utilisé dans certaines propriétés CSS, comme {{Cssxref("content")}}.

Puisqu'il y a plusieurs manières de définir l'encodage des caractères d'une feuille de style, le navigateur essaiera les méthodes suivantes dans l'ordre décrit (et s'arrêtera dès qu'une méthode donne un résultat) :

  1. La valeur donnée par l'attribut charset de l'en-tête HTTP Content-type: ou l'équivalent dans le protocole utilisé pour servir la feuille de style.
  2. La valeur de l'indicateur d'ordre des octets Unicode placé au début du fichier.
  3. La règle CSS @charset.
  4. Utiliser l'encodage des caractères défini par le document référent : l'attribut charset de l'élément {{HTMLElement("link")}}. Cette méthode est obsolète en HTML5 et ne doit pas être utilisée.
  5. Supposer que l'encodage du document est UTF-8.

Syntaxe

@charset charset;
@charset "UTF-8";
@charset 'iso-8859-15';

où :

charset
Est une {{xref_cssstring()}} qui décrit l'encodage des caractères qui doit être utilisé. Cela doit être le nom d'un encodage de caractères sûr pour le web défini par le registre IANA. Si plusieurs noms sont associé avec un encodage, seul celui indiqué comme preferred doit être utilisé.

Exemples

@charset "UTF-8";       /* Définit l'encodage de la feuille de style à Unicode UTF-8 */
@charset 'iso-8859-15'; /* Définit l'encodage de la feuille de style à Latin-9 (Langues de l'Europe occidentale, avec le symbole euro) */
 @charset "UTF-8";      /* Invalide, il y a un caractère (un espace) avant la règle @ */
@charset UTF-8;         /* Invalide, sans ' ou ", le jeu de caractère n'est pas une {{xref_cssstring()}} */

Spécifications

Spécification Statut Commentaire
{{ SpecName('CSS2.1', 'syndata.html#x57', '@charset') }} {{ Spec2('CSS2.1') }}  

Compatibilité des navigateurs

{{ CompatibilityTable() }}

Fonction Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support de base 2.0 {{ CompatGeckoDesktop("1.8") }}[*] 5.5 [**] 9 4
Fonction Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support de base 2.1 {{ CompatGeckoMobile("1.8") }} 5.5 [**] 10.0 4

[*] Firefox 1.0 supportait seulement une syntax invalide de l'encodage des caractères n'est pas définit entre des guillemets simples ou doubles.
[**] Depuis IE 5.5 jusqu'à IE 7 inclus, IE supportait égalemental la syntaxe invalide ou l'encodage des caractères n'est pas entouré de guillemets simples ou doubles.

Voir également

{{CSS_at_rules()}}

Source de la révision

<p>{{ CSSRef() }}</p>

<h2 id="R.C3.A9sum.C3.A9">Résumé</h2>

<p>La <a href="/fr/docs/Web/CSS/Règles_@" title="Règles @">règle @</a> <a href="/fr/docs/Web/CSS" title="/fr/docs/CSS">CSS</a> <code>@charset</code> définit l'encodage des caractères utilisés dans la feuille de style. Elle doit être le premier élément de la feuille de style et ne doit être précédée par aucun caractère. Comme ce n'est pas une <a href="/fr/docs/Web/CSS/Syntaxe#expressions_imbriquées" title="/fr/docs/CSS/Syntaxe#expressions_imbriquées">expression imbriquée</a>, elle ne peut pas être utilisée dans un <a href="/fr/docs/Web/CSS/Règles_@#R.C3.A8gles_conditionnelles_de_groupe" title="/fr/docs/CSS/Règles_@#R.C3.A8gles_conditionnelles_de_groupe">groupe conditionnel de règles</a>. Si plusieurs règles <code>@charset</code> sont définies, seule la première est utilisée, et elle ne peut pas être utilisée dans un attribut <code>style</code> d'un élément HTML ou dans l'élément {{HTMLElement("style")}} pour lequel le jeu de caractères pertinent est celui de la page HTML.</p>

<p>Cette règle @ est utile lorsque des caractères non-ASCII sont utilisé dans certaines propriétés CSS, comme {{Cssxref("content")}}.</p>

<p>Puisqu'il y a plusieurs manières de définir l'encodage des caractères d'une feuille de style, le navigateur essaiera les méthodes suivantes dans l'ordre décrit (et s'arrêtera dès qu'une méthode donne un résultat) :</p>

<ol>
 <li>La valeur donnée par l'attribut <code>charset</code> de l'en-tête HTTP <code>Content-type:</code> ou l'équivalent dans le protocole utilisé pour servir la feuille de style.</li>
 <li>La valeur de l'<a href="https://fr.wikipedia.org/wiki/Indicateur_d%27ordre_des_octets" title="https://fr.wikipedia.org/wiki/Indicateur_d%27ordre_des_octets">indicateur d'ordre des octets Unicode</a> placé au début du fichier.</li>
 <li>La règle CSS <code>@charset</code>.</li>
 <li>Utiliser l'encodage des caractères défini par le document référent : l'attribut <code>charset</code> de l'élément {{HTMLElement("link")}}. Cette méthode est obsolète en HTML5 et ne doit pas être utilisée.</li>
 <li>Supposer que l'encodage du document est UTF-8.</li>
</ol>

<h2 id="Syntaxe">Syntaxe</h2>

<pre class="twopartsyntaxbox">
@charset charset;
</pre>

<pre>
@charset "UTF-8";
@charset 'iso-8859-15';</pre>

<p>où :</p>

<dl>
 <dt style="margin-left: 40px;">charset</dt>
 <dd style="margin-left: 40px;">Est une {{xref_cssstring()}} qui décrit l'encodage des caractères qui doit être utilisé. Cela doit être le nom d'un encodage de caractères sûr pour le web défini par le <a href="https://www.iana.org/assignments/character-sets" title="https://www.iana.org/assignments/character-sets">registre IANA</a>. Si plusieurs noms sont associé avec un encodage, seul celui indiqué comme <em>preferred</em> doit être utilisé.</dd>
</dl>

<h2 id="Exemples">Exemples</h2>

<pre class="brush: css">
@charset "UTF-8";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /* Définit l'encodage de la feuille de style à Unicode UTF-8 */
@charset 'iso-8859-15'; /* Définit l'encodage de la feuille de style à Latin-9 (Langues de l'Europe occidentale, avec le symbole euro) */
 @charset "UTF-8";      /* Invalide, il y a un caractère (un espace) avant la règle @ */
@charset UTF-8;         /* Invalide, sans ' ou ", le jeu de caractère n'est pas une {{xref_cssstring()}} */
</pre>

<h2 id="Sp.C3.A9cifications">Spécifications</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">Spécification</th>
   <th scope="col">Statut</th>
   <th scope="col">Commentaire</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{ SpecName('CSS2.1', 'syndata.html#x57', '@charset') }}</td>
   <td>{{ Spec2('CSS2.1') }}</td>
   <td>&nbsp;</td>
  </tr>
 </tbody>
</table>

<h2 id="Compatibilit.C3.A9_des_navigateurs">Compatibilité des navigateurs</h2>

<p>{{ CompatibilityTable() }}</p>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Fonction</th>
   <th>Chrome</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari</th>
  </tr>
  <tr>
   <td>Support de base</td>
   <td>2.0</td>
   <td>{{ CompatGeckoDesktop("1.8") }}[*]</td>
   <td>5.5 [**]</td>
   <td>9</td>
   <td>4</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Fonction</th>
   <th>Android</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>IE Mobile</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
  </tr>
  <tr>
   <td>Support de base</td>
   <td>2.1</td>
   <td>{{ CompatGeckoMobile("1.8") }}</td>
   <td>5.5 [**]</td>
   <td>10.0</td>
   <td>4</td>
  </tr>
 </tbody>
</table>
</div>

<p>[*] Firefox 1.0 supportait seulement une syntax invalide de l'encodage des caractères n'est pas définit entre des guillemets simples ou doubles.<br />
 [**] Depuis IE 5.5 jusqu'à IE 7 inclus, IE supportait égalemental la syntaxe invalide ou l'encodage des caractères n'est pas entouré de guillemets simples ou doubles.</p>

<h2 id="Voir_.C3.A9galement">Voir également</h2>

<p>{{CSS_at_rules()}}</p>
Revenir à cette révision