media

@media (CSS)

歴史

前史

[216] HTML要素概説
要素名
online
要素名
printed
日付
説明
HTML+ に、 online, printed がある。 HTML+19931108 現在の CSS でいう @media screen, @media print での表示可否切り替えに当たる。

@media (CSS)

[4] カスタムタグ (IE) はなぜか @media all を使うよう要求していました。 おそらく構文解析の互換性の問題で新規実装した @media 内と元々のそれ以外で挙動をかえていたのでしょう。

[36] @media screen, 3d {} (CSS 2.1 に出てくる例) http://suika.suikawiki.org/gate/2007/cssom/viewer?c=%40media%20screen%2C%203D%20%7B%0A%20%20P%20%7B%20color%3A%20green%3B%20%7D%0A%7D;h=%3Cp%3EPASS%20if%20green.%3C%2Fp%3E;p=n;x=style-element;i=html-div

3d無視し、 screen には適用されるのが正しい動作です。 WinIE 6 はそうしますが、 Opera 9 と Firefox 2 は@規則全体を無視します。

3dIDENT でなく DIMENSION のためだと思われます。

[32] WinIE 6@media構文解析直列化については cssText かどこかに書いてあります。 (名無しさん)

[33] Firefox 2 では、媒体照会の部分は読点 (と前後に零文字以上の空白) 区切りの IDENT ならなんでもいい (CSS 2.1 で定義された媒体型でなくてもいい) ようです。

先頭や末尾や連続した COMMA は不可。
媒体型だけで、媒体機能論理式には未対応。

CSSOMmediaText には、そのまま現れます。ただし、区切りは COMMA] + SPACE正規化小文字正規化されます。順序や重複も保存されます。 (名無しさん)

[34] Opera 9 では、 CSS 2.1 で定義された媒体型でないものが含まれていると、 unknown に置き換わって CSSOM に現れます。区切りの正規化小文字への正規化も行われます。

(名無しさん)

[37] >>34 ただし、 andnot が最初に来ると、@規則全体を無視します。 (名無しさん)

[38] >>34 Opera 9 が対応しているのは、 all, handheld, tv, speech, screen, printaural (構文解析時に speech に置き換えられる) です。

[39] >>38 あと projection

[1] 2009年頃の CSS3 を見ると代替スタイル・シートの名前を指定することができたようです。

[40] CSS Conditional Rules Module Level 3 ( ( 版)) http://dev.w3.org/csswg/css-conditional/#at-media

[2] [cssom][css-conditional] Merge IDL definitions for CSSMediaRule (#1209) (zcorpan著, ) https://github.com/w3c/csswg-drafts/commit/13ca505c2bdff691aad03a1364e71df820a5a6e1

[3] [cssom] Specify serialization of CSSMediaRule and CSSFontFaceRule (canaltinova著, ) https://github.com/w3c/csswg-drafts/commit/6cbb98d6931914580e323cfcb8946ca551c0b2c6