[2] 媒体クエリーの構文・構造としての媒体クエリーは、 媒体型と媒体機能の条件を一種類分記述したものです。
... によって構成されます。 >>1
[11] 媒体クエリー仕様の一部ですので、基本的には CSSの構文によって表記・解釈されます。
[10] 媒体型および個々の媒体機能は 'and'
によって区切ったリストとして記述します。
媒体型が含まれる場合は必ず最初に置きます。なおそれぞれの前後には空白を挿入できます。
[13] 媒体型が含まれる場合、その前に 'not'
または
'only'
を記述できます。 >>1
[21] 'and'
の前後、 'not'
と 'only'
の直後の空白は必須です。 >>1
not all
としたり、空文字列としたり、媒体機能の式の値だけ無視したり、@規則全体を無視したり、
おかしくなったりします。これらの場合でも Gecko は仕様通り動作します。 @media (color:hoge) {}
を Chrome が解釈するとなぜか
@media (color: 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008524391816) { }
... になります。
[6] 媒体クエリーは、全体として真または偽のいずれかに評価される論理式と解されます。 媒体クエリーは、
[14] 'not'
が指定されていれば、この真偽が逆転します。 >>1
[23] ただし媒体機能が未知のものであるなど、媒体クエリー全体が not all
と解釈される場合があります。 (媒体機能の項を参照。) この場合 CSSOM 上も not al
になります >>22。
[20] 媒体クエリーとしての構文に適合することに加え、媒体型や媒体機能がそれぞれの仕様に適合していなければなりません。 >>1 規定されていない媒体型や媒体機能は不適合です。
'all'
'not'
[16] キーワード 'not'
は否定を表します。媒体クエリーの残りの部分の真偽の逆を表します。
'not'
が使えるのは媒体型が明示されているときだけです。
[17] 'not'
は 'all'
と併用することもできます。
'not all'
とだけ指定すれば、何にも一致しなくなります。
'only'
[18] キーワード 'only'
は意味を持たず解釈上は無視されます。
HTML4 の media
属性について規定されていた将来の拡張を考慮した解釈方法に従う古い利用者エージェントに媒体クエリーを無視させたいときに使うことができます。
[19] 現在となっては媒体クエリーに対応していない利用者エージェントはほとんどありませんから、 もはや不要と言って良いでしょう。