From bbfc61b6269a757ebfe8becb8ae9a89f421c51f0 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Wed, 15 Dec 2021 00:01:50 +0900 Subject: CSS Charsets 関係の文書を変換準備 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/css/@charset/index.md | 78 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 files/ja/web/css/@charset/index.md (limited to 'files/ja/web/css/@charset/index.md') diff --git a/files/ja/web/css/@charset/index.md b/files/ja/web/css/@charset/index.md new file mode 100644 index 0000000000..2a57f026b1 --- /dev/null +++ b/files/ja/web/css/@charset/index.md @@ -0,0 +1,78 @@ +--- +title: '@charset' +slug: Web/CSS/@charset +tags: + - At-rule + - CSS + - Layout + - Reference + - Web +translation_of: Web/CSS/@charset +--- +
{{CSSRef}}
+ +

CSS@charset at-規則 は、スタイルシートで使う文字エンコーディングを定義します。この規則はスタイルシートの最初の要素でなければならず、これより前には文字を一切記述してはいけません。入れ子の文 でないとしても、条件付きグループルール では使えません。複数の @charset at-規則が定義されると、最初のものだけが使われます。HTML 要素の style 属性や、HTML ページの文字セットが関係している {{HTMLElement("style")}} 要素の中では使えません。

+ +
@charset "utf-8";
+ +

この at-規則は、{{cssxref("content")}} のような CSS プロパティで非 ASCII 文字を使う際に便利です。

+ +

スタイルシートの文字エンコーディングを定義する方法は複数あるので、ブラウザは次の手順を順番に試します (そして 1 つでも結果が得られると止めます):

+ +
    +
  1. ファイル先頭にある Unicode byte-order 文字 (BOM) の値
  2. +
  3. Content-Type: HTTP ヘッダーの charset 属性、またはスタイルシートを送るのに使われたプロトコル内の同等のものから、得られた値
  4. +
  5. CSS の @charset at-規則
  6. +
  7. 文書参照で定義されている文字エンコーディングを使用。{{HTMLElement("link")}} 要素の charset 属性です。この方式は HTML5 で廃止されており、使うべきではありません。
  8. +
  9. 文書が UTF-8 だと仮定する
  10. +
+ +

構文

+ +
@charset "UTF-8";
+@charset "iso-8859-15";
+
+ +

ここでは:

+ +
+
charset
+
使う文字エンコーディングを意味する {{cssxref("<string>")}} です。IANA-registry で定義されているウェブセーフな文字エンコーディングの名前でなければなりません。この名前は必ず 1 文字分の空白文字 (U+0020) の後に続き、二重引用符で囲われ、セミコロン記号で終わる必要があります。もし 1 つのエンコーディングに複数の名前が関連付けられている場合には、preferred とマークされているものだけが使われる必要があります。
+
+ +

正式な構文

+ +{{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")}}

-- cgit v1.2.3-54-g00ecf