2

条件付きコメントを使用する場合、正しい方法を知りたい(divの終了タグに注意してください)

このように、両方の条件付きdivに対して1つの終了divを使用します

<!--[if IE]>
<div id="IEdiv">
<![endif]-->

<!--[if !IE]><!-->
<div id="AllOtherDiv">
<!--<![endif]-->

  <div>The Content</div>
</div>

また

このように、条件付きdivごとにdivを閉じ、同じhtmlを繰り返します。

<!--[if IE]>
<div id="IEdiv">
<div>The Content</div>
</div> 
<![endif]-->

<!--[if !IE]><!-->
<div id="AllOtherDiv">
<!--<![endif]-->
<div>The Content</div>        
</div>

注:内部HTMLが同じである場合、なぜ条件付きスタイルシートを使用しないのか不思議に思うかもしれませんが、条件付きdivでインラインスタイルを使用し(必要です)、IEのインラインスタイルが異なります(IEはそうする必要があるため必要です)それはcssサポートで悪いです...)

ありがとうございました

4

2 に答える 2

2

技術的にはどちらが正しいとか間違っているというわけではありませんが、ブラウザーが変わっても同じだとしたら、内容を繰り返すのはかなりもったいないように思えます。最初の例のように、開始タグを条件付けするだけです。HTML コメントは、このような手法を可能にするように設計されています。

ちなみに、 HTML5 ボイラープレートはたまたま<html>開始タグでこれを行いますが、クラスとわずかに異なる条件付きコメントを除いて、ブラウザを正しくターゲットにしている限り、必要な属性を使用できます。

<!--[if lt IE 7]> <html lang="en-us" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>    <html lang="en-us" class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>    <html lang="en-us" class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en-us" class="no-js"> <!--<![endif]-->
于 2012-08-16T19:32:14.310 に答える
1
<!--[if IE]>
<div id="IEdiv">
<![endif]-->

<!--[if !IE]><!-->
<div id="AllOtherDiv">
<!--<![endif]-->

  <div>The Content</div>
</div>

これは多くの Web サイトで見られるため、正しい方法です。

<!--[if IE9]>
<html class="ie9">
<![endif]-->

<!--[if IE8]>
<html class="ie8">
<![endif]-->

<!--[if lte IE7]>
<html class="ie7">
<![endif]-->

<!--[if !IE]><!-->
<html>
<!--<![endif]-->

content....

</html>
于 2012-08-16T19:34:05.810 に答える