@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.
Resumen
La regla-at @charset
de CSS especifica la codificación de caracteres usada en la hoja de estilos. Éste debe ser el primer elemento en la hoja de estilos, y no debe ser precedidad por ningun otro caracter; al no ser una declaración anidada, no puede ser usada dentro de grupos de reglas-at condicionales. Si se definen varias reglas-at @charset
, solamente se usará la primera. La regla-at @charset
no puede ser usada dentro de un atributo style
style en un elemento HTML o dentro del elemento <style>
, ya que en estos casos se tomará en cuenta la codificación de la página HTML contenedora.
Esta regla-at es útil cuando se usan caracteres fuera de la codificación ASCII en alguna propiedad CSS, como content
.
Habiendo diferentes maneras de definir la codificación de caracteres en una hoja de estilos, el navegador intentará seguir este orden para identificarlo (deteniéndose en el primer paso que dé resultado):
- El valor de la Marca de orden de bytes al principio del archivo.
- El valor dado por el atributo charset del encabezado HTTP
Content-Type:
o su equivalente en el protocolo usado para descargar la hoja de estilos. - La regla-at
@charset
de CSS. - Usar la codificación de caracteres definida en el documento de referencia: el atributo
charset
attribute del elemento<link>
. Este método es obsoleto para HTML5 y no debe ser usado. - Asumir que el documento es UTF-8.
Sintaxis
@charset "UTF-8";
@charset 'iso-8859-15';
- donde:
-
charset
Es un valor
<string>
que denota la codificación de caracteres que será usada. Debe ser el nombre de una codificación de caracteres compatible con Web, definida en el registro IANA. Si varios nombres están asociados a una codificación, solamente se usará el que está marcado como principal.
Sintaxis formal
Ejemplos
@charset "UTF-8"; /* Establece la codificación de la hoja de estilos a Unicode UTF-8 */
@charset 'iso-8859-15'; /* Establece la codificación de la hoja de estilos a Latin-9 (idiomas de Europa Occidental, con símbolo de euro) */
@charset "UTF-8"; /* Inválido, hay un caracter (espacio) antes de la regla-at */
@charset UTF-8; /* Inválido, sin comillas simples o dobles, el valor no es una cadena <string> de CSS */
Especificaciones
Specification |
---|
Cascading Style Sheets Level 2 Revision 2 (CSS 2.2) Specification # charset① |
Compatibilidad con navegadores
BCD tables only load in the browser