CSS правило @charset

Определение и применение

Запись @charset "UTF-8"; сообщает кодировку внешнего CSS-файла на уровне байтов. Она должна стоять в начале файла без пробелов и комментариев перед ней; возможный BOM обрабатывается отдельно. BOM и кодировка из HTTP-заголовка имеют приоритет над этой записью. Внутри HTML-элемента style она не задаёт кодировку.

Это специальная последовательность для декодирования, а не обычное правило CSS после разбора. Название берётся из поддерживаемых кодировок веб-платформы; для новых файлов используйте UTF-8 и действительно сохраняйте файл в этой кодировке.

Поддержка браузерами

Спецификация: CSS syntax

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьcss.at-rules.charset
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
charset✓2✓12✓1.5✓9✓4✓18✓4✓10.1✓4✓1.0✓2✓4

поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31

CSS синтаксис

CSS
@charset "кодировка"; /* допускаются только двойные кавычки, между @charset и строкой кодировки должен быть только один пробел */

Значения правила

Значение Описание
charset (кодировка) Обозначает кодировку, которая будет использоваться в таблице стилей. Название кодировки допускается помещать только в двойные кавычки, между @charset и строкой кодировки должен быть только один пробел. Поддерживаемые метки кодировок перечислены в Encoding Standard.

Версия CSS

CSS2

Пример использования

Сохраните этот код в отдельном файле style.css в кодировке UTF-8. Запись @charset должна находиться в самом начале файла: перед ней не ставят пробелы или комментарии. Внутри HTML-элемента style она не определяет кодировку, поэтому здесь приведён листинг внешнего CSS-файла.

CSS
@charset "UTF-8";

.note::before {
  content: "Подсказка: ";
}