1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
---
title: '@charset'
slug: Web/CSS/@charset
translation_of: Web/CSS/@charset
---
<div>{{cssxref("<string>")}}{{ CSSRef() }}</div>
<h2 id="Resumo">Resumo</h2>
<p>A regra <code>@charset</code> 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 <code>@charset</code> 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 {{ HTMLElement("style") }}, onde o conjunto de caracteres da página HTML é relevante.</p>
<p>Esta regra at (<a href="/pt-BR/CSS/At-rule" title="At-rule">at-rule</a>) é útil quando se usa caracteres não ASCII em algumas propriedades CSS, como conteúdo.</p>
<p>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):</p>
<ol>
<li>O valor do carácter de ordem de <a href="http://pt.wikipedia.org/wiki/Marca_de_ordem_de_byte" title="http://pt.wikipedia.org/wiki/Marca_de_ordem_de_byte">byte Unicode</a> colocado no início do arquivo.</li>
<li>O valor dado pelo atributo <code>charset</code> do <code>Content-Type:</code> cabeçalho HTTP ou o equivalente no protocolo usado para servir a folha de estilo.</li>
<li>O <code>@charset</code> CSS.</li>
<li>Use a codificação de caracteres definidos pelo documento referente: o atributo charset do elemento {{ HTMLElement("link") }}. Este método é obsoleto em HTML5 e não deve ser utilizado.</li>
<li>Assume que o documento é UTF-8.</li>
</ol>
<h2 id="Sintaxe">Sintaxe</h2>
<pre class="syntaxbox"> @charset <em>charset</em>;
</pre>
<p>onde :</p>
<dl>
<dt style="margin: 0 40px;"><em>charset</em></dt>
<dd style="margin: 0 40px;">É uma {{cssxref("<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 <a href="http://www.iana.org/assignments/character-sets">registro IANA</a>. Se vários nomes estão associados com uma codificação, apenas um é marcado como <em>preferido</em> e assim ser utilizado.</dd>
</dl>
<h2 id="Exemplos">Exemplos</h2>
<pre class="brush: css">@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 {{cssxref("<string>")}} CSS */
</pre>
<h2 id="Especificações">Especificações</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Especificação</th>
<th scope="col">Status</th>
<th scope="col">Comentário</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ SpecName('CSS2.1', 'syndata.html#x57', '@charset') }}</td>
<td>{{ Spec2('CSS2.1') }}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">Compatibilidade de navegadores</h2>
<p>{{ CompatibilityTable() }}</p>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Característica</th>
<th>Chrome</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari</th>
</tr>
<tr>
<td>Suporte básico</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><span style="font-family: open sans light,sans-serif; font-size: 16px; line-height: 16px;">Característica</span></th>
<th>Android</th>
<th>Firefox Mobile (Gecko)</th>
<th>IE Mobile</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
</tr>
<tr>
<td><span style="font-size: 12px; line-height: 18px;">Suporte básico</span></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 suportado apenas uma sintaxe inválida onde a codificação de caracteres não está definido entre aspas simples ou duplas.<br>
[**] 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.</p>
|