Widely available YES。主要ブラウザで広く対応済み。本番利用を推奨。

概要

CSSファイルの文字エンコーディングを明示的に指定するアットルールです。UTF-8 以外のエンコーディングで保存されたスタイルシートで日本語などの非ASCII文字を正しく解釈させるために使用します。ファイルの先頭に記述する必要があります。現在はほとんどの場合 UTF-8 が標準のため、明示的な指定が不要なケースが大半です。

対応ブラウザ

デスクトップ

Chrome 2+
Edge 12+
Safari 4+
Firefox 1.5+

モバイル

Chrome Android 18+
Safari iOS 4+
Firefox Android 4+

基本構文

CSS
@charset "UTF-8";

body {
  font-family: sans-serif;
}

実務での使いどころ

  • 非UTF-8スタイルシートのエンコーディング宣言

    UTF-8以外のエンコーディングで保存されたCSSファイルが正しく解釈されるよう、文字セットを明示的に宣言できます。

注意点

  • @charset はファイルの最初のルールでなければなりません。BOM(バイト順マーク)やHTTPヘッダーのエンコーディング指定が優先される場合があります。

アクセシビリティ

  • 正しいエンコーディング宣言により、日本語などの多言語テキストが正しく表示され、すべてのユーザーがコンテンツを正しく読めるようになります。