@charset
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
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):
- O valor do carácter de ordem de byte Unicode colocado no início do arquivo.
- O valor dado pelo atributo
charset
doContent-Type:
cabeçalho HTTP ou o equivalente no protocolo usado para servir a folha de estilo. - O
@charset
CSS. - 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. - 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
Specification |
---|
Cascading Style Sheets Level 2 Revision 2 (CSS 2.2) Specification # charset① |
Compatibilidade de navegadores
BCD tables only load in the browser