Esto es útil en contextos donde la codificación no se cuenta por encabezado HTTP u otros metadatos, por ejemplo, el sistema de archivos local.
Imagine la siguiente hoja de estilo:
[rel="external"]::after
{
content: ' ↗';
}
Si un lector guarda el archivo en un disco duro y omite la @charset
regla, la mayoría de los navegadores lo leerán en la codificación regional del sistema operativo, por ejemplo, Windows-1252, e insertarán â † en lugar de una flecha.
Desafortunadamente, no puede confiar en este mecanismo ya que el soporte es bastante ... raro. Y recuerde que en la red un encabezado HTTP siempre anulará la @charset
regla.
Las reglas correctas para determinar el conjunto de caracteres de una hoja de estilo están en orden de prioridad:
- Encabezado HTTP Charset.
- Marca de orden de bytes.
- La primera
@charset
regla
- UTF-8.
La última regla es la más débil, que se fallará en algunos navegadores.
El charset
atributo en <link rel='stylesheet' charset='utf-8'>
es obsoleto en HTML 5 .
Cuidado con los conflictos entre las diferentes declaraciones. No son fáciles de depurar.
Lectura recomendada