@charset "UTF-8";
no
CSS?O @charset "UTF-8";
define a codificação de caracteres do arquivo CSS. Sua principal
função é garantir que o navegador interprete corretamente caracteres especiais (como acentos, emojis ou
símbolos) presentes no código CSS. Veja os detalhes:
ã
,
ç
, →
, ❤️
), sem a declaração @charset
, o navegador pode
exibir caracteres incorretos ou "quebrados".content: "✔️";
em
pseudoelementos ou comentários com acentos (/* Menu de navegação */
).Content-Type: text/css; charset=UTF-8
, o @charset
resolve ambiguidades.@charset "UTF-8";
body { font-family: Arial, sans-serif; }
Cenário sem @charset
:
Se você escrever:
.tooltip::after { content: "Atenção: campo obrigatório!"; }
E o navegador interpretar o arquivo como ISO-8859-1
, o "ç" pode aparecer como
ç
.
Cenário com @charset
:
O navegador renderiza os caracteres corretamente.
<meta charset="UTF-8">
.Content-Type: text/css; charset=UTF-8
, dispensando o @charset
.Use @charset "UTF-8";
no CSS quando:
✅ O arquivo contém caracteres não-ASCII.
✅ Não
há garantia de que o servidor defina a codificação correta.
✅ Você quer evitar riscos de compatibilidade em
ambientes desconhecidos.
É uma boa prática para projetos profissionais, especialmente em equipes ou sistemas com múltiplos idiomas! 🌍