--- title: '@charset' slug: Web/CSS/@charset tags: - At-rule - CSS - Layout - Reference - Web translation_of: Web/CSS/@charset ---
CSS の @charset
at-規則 は、スタイルシートで使う文字エンコーディングを定義します。この規則はスタイルシートの最初の要素でなければならず、これより前には文字を一切記述してはいけません。入れ子の文 でないとしても、条件付きグループ規則 では使えません。複数の @charset
at-規則が定義されると、最初のものだけが使われます。HTML 要素の style
属性や、HTML ページの文字セットが関係している {{HTMLElement("style")}} 要素の中では使えません。
@charset "utf-8";
この at-規則は、{{cssxref("content")}} のような CSS プロパティで非 ASCII 文字を使う際に便利です。
スタイルシートの文字エンコーディングを定義する方法は複数あるので、ブラウザは次の手順を順番に試します (そして 1 つでも結果が得られると止めます):
Content-Type:
HTTP ヘッダーの charset
属性、またはスタイルシートを送るのに使われたプロトコル内の同等のものから、得られた値@charset
at-規則charset
属性です。この方式は HTML5 で廃止されており、使うべきではありません。@charset "UTF-8"; @charset "iso-8859-15";
ここでは:
{{csssyntax}}
@charset "UTF-8"; /* スタイルシートのエンコーディングを Unicode UTF-8 にします*/ @charset 'iso-8859-15'; /* 無効です。正しくない引用符が使用されています */ @charset "UTF-8"; /* 無効です。at-規則より前に文字(空白)があります */ @charset UTF-8; /* 無効です。' か " がなく、文字セットは CSS の {{cssxref("<string>")}} ではありません */
仕様書 | 策定状況 | コメント |
---|---|---|
{{ SpecName('CSS2.1', 'syndata.html#x57', '@charset') }} | {{ Spec2('CSS2.1') }} | Initial definition |
{{Compat("css.at-rules.charset")}}