« Win IE5x以下以外だけCSSを適用させる | メイン | 電車男 »

Win IE5xだけ別のCSS 2

通称Mid Pass Filterなどと呼ばれている。

@media tty {
i { content:"\";/*" "*/}} @import 'winIe5.css'; /*";}
}/* */

これを利用すると、WinIE5xだけに'winIe5.css'を当てはめることができる。

なぜWinIE5xだけこれが適用されるのか、原文みても半分くらいしかわからないが・・・

まず、@media ttyのttyは、文字幅が固定の機器のみ適用、という意味。ちなみにこのメディアタイプに対応した機器は今のところないらしい。

i { content: もあまり使わない表現だ。contentプロパティは要素の直前や直後に任意の文字列や画像を挿入できるもので、擬似要素after・beforeなどとともに使う。
たとえばi { content: "【引用】" }
などとすれば、iの度に自動的に「【引用】」と表示されるらしい、ただしNN6以上・opera6以上だけしか対応していない。(私自身も試していない、HTML辞典からの引用)

どっちにしろ、ttyメディアに対応した機器がない現状では、すべてのブラウザでまったく無意味な指定。

で、例のようにバックスラッシュハックにより、WinIE5xはi { content を無意味な文字列を指定したまま閉じ、@import 'winIe5.css'を読み込む、WinIE5x以外は最後までi { content プロパティの指示のように解釈して無意味に終わる、というものらしい。



トラックバック

この一覧は、次のエントリーを参照しています: Win IE5xだけ別のCSS 2:

» Mac版IEへの対応 from CODE-0
現在サイトを作成していて、非常に頭を悩ませるのが、各ブラウザでのCSSの解釈の違... [詳しくはこちら]

コメント

@media tty {
 i {content:"\";/*" "*/}};
 @import '*.css'; /*";}
}/* */

を設定した後にIE6しかインストールできないので、IE5で本当に適用されているのかどうかを確認するにはどうしたらいいのでしょうか?

申し訳ない、今は記事を書く時間がないですが、この件はきちんと記事を書くつもりです、とりあえずURLだけ。

http://www.quirksmode.org/browsers/multipleie.html

ただし、くれぐれも自己責任で。