CSS правило @charset
Определение и применение
Запись @charset "UTF-8"; сообщает кодировку внешнего CSS-файла на уровне байтов. Она должна стоять в
начале файла без пробелов и комментариев перед ней; возможный BOM обрабатывается отдельно. BOM и кодировка из
HTTP-заголовка имеют приоритет над этой записью. Внутри HTML-элемента style она не задаёт кодировку.
Это специальная последовательность для декодирования, а не обычное правило CSS после разбора. Название берётся из поддерживаемых кодировок веб-платформы; для новых файлов используйте UTF-8 и действительно сохраняйте файл в этой кодировке.
Поддержка браузерами
Спецификация: CSS syntax
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
charset | 2 | 12 | 1.5 Версия 1.5 выпущена в 2005 г. Примечание MDN (англ.) Firefox 1 supported an invalid syntax where the character encoding is not between single or double quotes. | 9 | 4 | 18 | 4 | 10.1 | 4 | 1.0 | 2 | 4 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
CSS синтаксис
@charset "кодировка"; /* допускаются только двойные кавычки, между @charset и строкой кодировки должен быть только один пробел */
Значения правила
| Значение | Описание |
|---|---|
charset (кодировка) |
Обозначает кодировку, которая будет использоваться в таблице стилей. Название кодировки допускается помещать только в двойные кавычки, между @charset и строкой кодировки должен быть только один пробел. Поддерживаемые метки кодировок перечислены в Encoding Standard. |
Версия CSS
CSS2Пример использования
Сохраните этот код в отдельном файле style.css в кодировке UTF-8. Запись @charset должна находиться в самом начале файла: перед ней не ставят пробелы или комментарии. Внутри HTML-элемента style она не определяет кодировку, поэтому здесь приведён листинг внешнего CSS-файла.
@charset "UTF-8";
.note::before {
content: "Подсказка: ";
}