1

最近、HTML5ボイラープレートに出くわしました。しかし、私にはわからない部分があります。

<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
<!--[if IE 7 ]>    <html class="ie7"> <![endif]-->
<!--[if IE 8 ]>    <html class="ie8"> <![endif]-->
<!--[if IE 9 ]>    <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]-->

Paul Irishは、条件付きスタイルシートやCSSハックの代わりにこれを使用できると言っています。私がそれについて彼のブログを読んだのと同じくらい何度もこれについていくらかの経験を持っている人はいますか?私はまだそれを意味をなさないようにすることができません。

現在、CSS3メディアクエリを使用していますが、IEではまったく機能していません。幸運なことに、CSS3-mediaqueries.jsファイル(またはそのようなもの)とrespond.jsファイルは機能しません。自分。そのため、条件付きコメントまたは特定のスタイルシートを使用することにしましたが、この設定については覚えていましたが、実際には使用方法がわかりません。

どんな助けでも大歓迎です!

4

1 に答える 1

1

ご想像のとおり、これらは条件付きコメントと呼ばれるものです。それらは標準の一部ではありません。

これらは IE が行う面白いことです。IE は、非アクティブなデータであるはずのテキストを実際に解析します! しかし、それはうまくいくはずです。

これを使用する方法は簡単です。7 未満の IE を使用している場合は、blah要素のスタイルを.ie6 blah. より具体的な例: ユーザーが IE8 を使用している場合はハイパーリンクを赤く、それ以外の場合は緑にしたいとします。ここにいくつかのCSSがあります:

a {
    color: green;
}

.ie8 a {
    color: red;
}

aclass を持つ要素の子孫であるie8」 は「 any 」よりも具体的であるためa、後者が適用され、IE8 ではリンクは赤になります。このロジックは IE8 にのみ適用されます。これは、IE8 の条件付きコメントが (コメント アウトではなく) HTML の一部として解釈される唯一のケースであるためです。

紛らわしいかもしれない唯一の他のビットは、コメント ブロックの--> 内側にある最後の行です。これは、条件付きコメントを完全に無視するブラウザでも、最後のブロックに HTML が表示されることを意味します (IE > 9 および非 - IE-but-まだ-解釈-条件付きコメント ブラウザー)。

于 2012-02-05T04:30:54.143 に答える