@charset
CSSファイルの文字エンコーディングを明示的に指定するアットルールです。UTF-8 以外のエンコーディングで保存されたスタイルシートで日本語などの非ASCII文字を正しく解釈させるために使用します。ファイルの先頭に記述する必要があります。現在はほとんどの場合 UTF-8 が標準のため、明示的な指定が不要なケースが大半です。
概要
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ヘッダーのエンコーディング指定が優先される場合があります。
アクセシビリティ
- 正しいエンコーディング宣言により、日本語などの多言語テキストが正しく表示され、すべてのユーザーがコンテンツを正しく読めるようになります。