@-規則 は、'@' (U+0040 COMMERCIAL AT) 記号で始まり、以下の識別子が続き、ブロック の外または最初の CSS ブロック の終わりにセミコロン ';' (U+003B SEMICOLON) 記号が続く CSS ステートメント です。
いくつかの @-規則があり、それぞれの識別子で異なる構文が使用されます:
@charsetは、スタイルシートで使用される文字セットを定義します。@importは、外部のスタイルシートを含めることを CSS エンジンに知らせます。@namespaceは、すべての CSS コンテンツに XML 名前空間の接頭辞が付くことを CSS エンジンに知らせます。- 入れ子状の @-規則は、入れ子になったステートメントのサブセットになります。スタイルシートのステートメントとしてだけではなく、内部の条件付きグループ規則として使用されます:
@mediaは、、メディアクエリを使用して定義された条件を満たすデバイスで読み込まれた場合に、そのコンテンツに適用される条件付きグループ規則です。@supportsは、ブラウザが与えられた条件を満たす場合に、そのコンテンツに適用される条件付きグループ規則です。@documentは、スタイルシートが適用されるドキュメントが与えられた条件を満たす場合に、そのコンテンツに適用される条件付きグループ規則です。(CSS Level 4 仕様に先送り)@page— Describes the aspect of layout changes which will be applied when printing the document.@font-faceは、ダウンロードされる外部フォントのアスペクトを記述します。@keyframesは、CSS アニメーションの流れの中間地点の状況を記述します。@viewportは、小画面デバイスのビューポートの状況を記述します。(現在は Working Draft 段階)@counter-styleは、スタイルのセットであらかじめ定義されていない、独自のカウンタースタイルを定義します。(Candidate Recommendation 段階ですが、現時点で Gecko しか実装していません)@font-feature-values(および@swash、@ornaments、@annotation、@stylistic、@styleset、@character-variant) は、OpenType の各機能を有効化するために、font-variant-alternatesの一般名を定義します。(Candidate Recommendation 段階ですが、現時点で Gecko しか実装していません)
条件付きグループ規則
プロパティの値のように、各 @-規則は異なる構文を持ちますが、いくつかの規則は特別なカテゴリーの 条件付きグループ規則 にグループ化できます。これらのステートメントは、共通の構文を持ちます。各構文には、規則セット と 入れ子の @-規則 のどちらかの 入れ子状のステートメント が含まれます。すべて共通のセマンティックな意味をもたらします。つまり、すべて (異なる種類の) 条件を、適用される一部のステートメントにリンクします。この条件は、常に true か false に評価されます。条件が true に評価された場合は、グループ内の全ステートメントが適用されます。
条件付きグループ規則は CSS Conditionals Level 3 で定義されており、以下の規則があります。
各規則は、入れ子状のステートメントを持ち、いくつでも入れ子にすることができます。
仕様書
| 仕様書 | 策定状況 | コメント |
|---|---|---|
| CSS Conditional Rules Module Level 3 | 勧告候補 | |
| Web Compatibility Standard CSS At-rules の定義 |
現行の標準 | @-webkit-keyframes を標準化 |