Це корисно в контекстах, коли кодування не повідомляється за заголовком HTTP або іншими метаданими, наприклад, локальною файловою системою.
Уявіть таку таблицю стилів:
[rel="external"]::after
{
content: ' ↗';
}
Якщо зчитувач зберігає файл на жорсткому диску, а ви пропускаєте це @charset
правило, більшість браузерів прочитає його в кодуванні локальної локальної системи ОС, наприклад, Windows-1252, а замість стрілки вставить â †.
На жаль, ви не можете покластися на цей механізм, оскільки підтримка досить… рідкісна. І пам’ятайте, що в мережі заголовок HTTP завжди буде заміняти @charset
правило.
Правильні правила визначення набору символів таблиці стилів є в порядку пріоритетності:
- Заголовок HTTP Charset.
- Позначка порядку байтів.
- Перше
@charset
правило.
- UTF-8.
Останнє правило є найслабшим, воно вийде з ладу в деяких браузерах. Атрибут є застарілим в HTML 5 .
Слідкуйте за конфліктом між різними деклараціями. Налагодити їх непросто.
charset
<link rel='stylesheet' charset='utf-8'>
Рекомендоване читання