これは、構文の正式なEBNF定義です。読みやすい例をお探しの場合は、標準の第2章をご覧ください。
要するに、Sスペース文字、IDENT識別子(のようなfoobar2)、*0回以上の繰り返しを表します。それを詳しく見ていきましょう:
media_query_list
: S* [media_query [ ',' S* media_query ]* ]?
;
a media_query_list(これが含まれる可能性のあるすべてのもの)が、コンマとオプションのスペースで区切られた@media ( here )1つ以上で構成されていることを意味します。media_queryたとえば、これらは有効ですmedia_query_list。
media_query
media_query, media_query, media_query,media_query
の定義media_queryは後で与えられます
media_query
: [ONLY | NOT]? S* media_type S* [ AND S* expression ]*
| expression [ AND S* expression ]*
|つまり、2つの形式があります。いずれか
media_type
ONLY media_type
NOT media_type
(およびAND)で結合されたオプションの式、または。で結合されたオプションの複数の他の式が後に続く式のみAND。
式は次のように定義されます。
expression
: '(' S* media_feature S* [ ':' S* expr ]? ')' S*
つまり、常に括弧で囲まれ、、、media_featureまたはメディア機能の後に。が続くもので構成されますexpr。たとえば、これらは有効な式です。
(foo)
(foo: 2px)
この定義では、media_type任意media_featureの識別子にすることができます。実際には、これらは、、などprintのブラウザによって認識される識別子になります。screenmax-width