アットルール

アットルールCSS の文のうち、CSS の動作を既定するものです。アットルールはアットマーク、'@' (U+0040 COMMERCIAL AT) で始まり、それに続く識別子から、次のセミコロン、 ';' (U+003B SEMICOLON) もしくは次の CSS ブロックのどちらかが現れるまでの部分からなります。

構文

通常

css
/* 一般的な構造 */
@identifier (RULE);

/* 例: ブラウザーに UTF-8 文字セットを使用することを知らせる */
@charset "utf-8";

アットルールは何種類かあり、識別子で区別され、それぞれに異なる構文が使用されます。

  • @charset — スタイルシートで使用される文字セットを定義します。
  • @import — 外部のスタイルシートを読み込むよう CSS エンジンに指示します。
  • @namespace — CSS エンジンに、内容のすべてに XML 名前空間の接頭辞がついていると見なすよう指示します。

入れ子

css
@identifier (RULE) {
}

入れ子になった文のサブセットになります。スタイルシートの文としてだけではなく、条件付きグループルールの内部で使用されます。

  • @mediaメディアクエリの条件を満たす端末で読み込まれた場合にこれの中身が適用される、条件付きグループルールです。
  • @supports — ブラウザーが指定の条件を満たす場合にこれの中身が適用される、条件付きグループルールです。
  • @document 非推奨 — このスタイルシートが適用される文書が、与えられた条件を満たす場合に、これの中身が適用される条件付きグループルールです。 (CSS Level 4 仕様に先送り)
  • @page — 文書印刷の際に適用されるレイアウト変更に関する指定を記述します。
  • @font-face — ダウンロードすべき外部フォントに関する指定を記述します。
  • @keyframes — CSS アニメーションシーケンスの中間段階に関する指定を記述します。
  • @counter-style — 定義済みのスタイルにはない、独自のカウンタースタイルを定義します。(勧告候補段階ですが、現時点で Gecko しか実装していません)
  • @font-feature-values (および @swash, @ornaments, @annotation, @stylistic, @styleset, @character-variant) — OpenType の各機能を有効化するために、 font-variant-alternates の一般名を定義します。(勧告候補段階ですが、現時点で Gecko しか実装していません)
  • @property Experimental — カスタムプロパティと変数に関して指定します。 (現在は草稿段階)
  • @color-profile Experimental color() 関数で使用するカラープロファイルを定義できます。

条件付きグループルール

プロパティの値と同様に、アットルールはそれぞれ異なる構文を持っています。しかし、いくつかのアットルールは 条件付きグループルールという特別なカテゴリーに分類されます。これらの文は構文が共通しており、どれも内側の文規則セットまたは内側のアットルールを入れることができます。さらに言えば、それらはすべて共通の意味合いがあります。 — すべては常にかで判定される何らかの条件と結びついています。条件がであれば、条件付きグループルール内の文全部が適用されます。

条件付きグループルールは CSS Conditionals Level 3 で定義されており、以下の規則があります。

条件付きグループは、入れ子状の文を持ち、いくつでも入れ子にすることができます。

索引

仕様書

Specification
CSS Conditional Rules Module Level 3

関連情報