Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[DÚVIDA] Declaração CSS @charset "UTF-8";

Já reparei em alguns projetos que no topo dos arquivos .css é declarada a regra @charset "UTF-8";.

Fiz uma pesquisa rápida, e o site da Mozilla diz que:

A regra @charset especifica a codificação de caracteres utilizada na folha de estilo. Link

Não sou fluente em inglês mas pelo que li no site da W3C diz que sempre deve-se utilizar UTF-8 nas folhas de estilo e páginas HTML, caso declare isto no HTML não precisará declarar nas flohas de estilo. Segue:

You should always use UTF-8 as the character encoding of your style sheets and your HTML pages, and declare that encoding in your HTML. If you do that, there is no need to declare the encoding of your style sheet. Link

Bom, qual a real necessidade de adicionar esta declaração nas folhas de estilo?

2 respostas

Essa declaração garante a decodificação dos caracteres mesmo que eles não sejam as mesmas na folha de estilo visto que existem várias maneiras de definir a codificação do CSS.

solução!

Olá Pedro! Essa adição depende do cenário e a decisão é sua! Na imensa maioria das vezes declare no HTML e "seus problemas acabaram".

Agora em casos especiais, principalmente folhas de estilos externas quando nomes de atributos, nomes de seletores, ou valores de atributos não são em texto ASCII, é fortemente recomendado usar a referência no CSS.

A regra @charset não precisa e não deve ser declarada para as declarações de CSS escritas dentro do próprio documento HTML. Esta regra serve apenas para folhas de estilos externas linkadas em um documento.

Concluindo, a não ser em casos especiais, a definição dentro do HTML é a mais indicada e suficiente como diz o próprio W3C.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software