Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.

Resumo

A regra @charset especifica a codificação de caracteres utilizada na folha de estilo. Deve ser o primeiro elemento na folha de estilo e não ser precedida de qualquer caráter; uma vez que não é uma declaração aninhada, ele não pode ser usado dentro de um grupo condicional de regras. Se vários @charset são definidos, apenas o primeiro é usado, e não pode ser usado dentro de um atributo de estilo em um elemento HTML ou dentro do elemento <style>, onde o conjunto de caracteres da página HTML é relevante.

Esta regra at (at-rule) é útil quando se usa caracteres não ASCII em algumas propriedades CSS, como conteúdo.

Como existem várias maneiras de definir a codificação de caracteres em uma folha de estilo, o navegador vai tentar os seguintes métodos na seguinte ordem (e parar assim que um produzir um resultado):

  1. O valor do carácter de ordem de byte Unicode colocado no início do arquivo.
  2. O valor dado pelo atributo charset do Content-Type: cabeçalho HTTP ou o equivalente no protocolo usado para servir a folha de estilo.
  3. O @charset CSS.
  4. Use a codificação de caracteres definidos pelo documento referente: o atributo charset do elemento <link>. Este método é obsoleto em HTML5 e não deve ser utilizado.
  5. Assume que o documento é UTF-8.

Sintaxe

  @charset charset;

onde :

charset
É uma <string> denotando a codificação de caracteres a ser usado. Ele deve ser o nome de uma codificação de caracteres segura para a Web definido no registro IANA. Se vários nomes estão associados com uma codificação, apenas um é marcado como preferido e assim ser utilizado.

Exemplos

@charset "UTF-8";       /* Define a codificação da folha de estilo para Unicode UTF-8 */
@charset 'iso-8859-15'; /* Define a codificação da folha de estilo para Latin-9 (línguas da Europa Ocidental, com sinal de euro) */
 @charset "UTF-8";      /* Inválido, há um caracter (espaço) antes da regra */
@charset UTF-8;         /*  Inválido, sem ‘ ou ", o conjunto de caracteres não é uma <string> CSS */

Especificações

Especificação Status Comentário
CSS Level 2 (Revision 1)
The definition of '@charset' in that specification.
Recomendação  

Compatibilidade de navegadores

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico 2.0 1.5 (1.8)[*] 5.5 [**] 9 4
Característica Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico 2.1 1.0 (1.8) 5.5 [**] 10.0 4

[*] Firefox 1.0 suportado apenas uma sintaxe inválida onde a codificação de caracteres não está definido entre aspas simples ou duplas.
[**] A partir IE 5.5 para o IE 7 incluído, IE também apoiou a sintaxe inválida onde a codificação de caracteres não está definido entre aspas simples ou duplas.

Etiquetas do documento e colaboradores

Colaboradores desta página: Guillaume-Heras, fscholz, lucascaprio
Última atualização por: Guillaume-Heras,