@charset

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):

  1. El valor de la Marca de orden de bytes al principio del archivo.
  2. 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.
  3. La regla-at @charset de CSS.
  4. 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.
  5. 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

@charset "<charset>";

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

Especificación Estado Comentarios
CSS Level 2 (Revision 1)
The definition of '@charset' in that specification.
Recommendation Definición inicial

Compatibilidad de navegadores

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Soporte básico 2.0 1.5 (1.8)[1] 5.5[2] 9 4
Característica Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Soporte básico 2.1 1.0 (1.8) 5.5[2] 10.0 4

[1] Firefox 1.0 soporta sólo una sintaxis inválida donde la codificación de caracteres no se establece entre comillas sencillas o dobles.

[2] De IE 5.5 a IE 7, IE también soporta la sintaxis inválida donde la codificación de caracteres no se establece entre comillas sencillas o dobles.

Etiquetas y colaboradores del documento

Etiquetas: 
 Colaboradores en esta página: israel-munoz
 Última actualización por: israel-munoz,