1

条件が満たされない場合、条件付きコメントはブラウザーにコンテンツを無視するように指示すると思いましたか?!

たとえば、ブラウザが IE6 の場合にのみスタイルシートを含めたいとします。以下は、ページの <HEAD> 要素にあります。

<!--[if IE 6]>
  <link id="IE6StyleSheet" rel="Stylesheet" type="text/css" href="~/css/IE6.css" runat="server" />
<![endif]-->

また

<!--[if IE 6]>
  <link rel="Stylesheet" type="text/css" href="../css/IE6.css" />
<![endif]-->

IE7、IE8、FF3 のすべてがそのスタイルシートをロードするのはなぜですか?!

注: 条件を [if lte IE 6] に変更しても違いはありません。:(

メジャーアップデート

私はばかです...私は自分が間違っていたことに気づきました!私が与えた例は少し修正されました。App_Themes の下にある css ファイルへのパス! もちろん、css は常にロードされていました!!!

4

1 に答える 1

2

試す:

<!--[if lte IE 6]>
   <link id="IE6StyleSheet" rel="Stylesheet" type="text/css" href="../css/IE6.css" />
<![endif]-->

これにより、IE6 以前のバージョンのスタイルシートのみが読み込まれます。使用できるテスト スクリプトは次のとおりです。使用している IE のバージョンが出力されます。

<p><!--[if IE]>
According to the conditional comment this is Internet Explorer<br />
<![endif]-->
<!--[if IE 5]>
According to the conditional comment this is Internet Explorer 5<br />
<![endif]-->
<!--[if IE 5.0]>
According to the conditional comment this is Internet Explorer 5.0<br />
<![endif]-->
<!--[if IE 5.5]>
According to the conditional comment this is Internet Explorer 5.5<br />
<![endif]-->
<!--[if IE 6]>
According to the conditional comment this is Internet Explorer 6<br />
<![endif]-->
<!--[if IE 7]>
According to the conditional comment this is Internet Explorer 7<br />
<![endif]-->
<!--[if gte IE 5]>
According to the conditional comment this is Internet Explorer 5 and up<br />
<![endif]-->
<!--[if lt IE 6]>
According to the conditional comment this is Internet Explorer lower than 6<br />
<![endif]-->
<!--[if lte IE 5.5]>
According to the conditional comment this is Internet Explorer lower or equal to 5.5<br />
<![endif]-->
<!--[if gt IE 6]>
According to the conditional comment this is Internet Explorer greater than 6<br />
<![endif]-->
</p>

このテスト コードでは、Firefox にテキストは表示されません。

于 2009-04-27T21:04:53.630 に答える