隐藏来自多个浏览器的HTML部分条件注释

时间:2009-10-28 10:09:16

标签: css

我想要的是我希望这部分html代码隐藏在IE6和IE7中但不是firefox,opera或IE8,但是条件注释在这部分上无法正常工作....我使用带有条件注释的单独CSS在head部分但是歌剧的条件评论不起作用,有时Firefox也显示出奇怪的行为

<!--[if gte IE 8]>
    <[if Gecko]>


 <div class="anythingSlider">

      <div class="wrapper">
        <ul>
           <li>
                <img src="gallery/1.jpg" alt="" />
           </li>
            <li>
                <img src="gallery/2.jpg" alt="" />
           </li>

        </ul>
     </div>
 </div>

     <[endif]>
<[endif]––>

4 个答案:

答案 0 :(得分:6)

没有这样的事情:

<[if Gecko]>

条件注释仅适用于IE,因此您只能区分IE5,IE6,IE7,IE8和[所有其他浏览器]。 (幸运的是,通常只有IE6和IE7你需要嗅探!)

  

我希望从IE6和IE7中隐藏这部分html代码

好的,要显示条件评论的内容,不仅在测试条件上,还在[所有其他浏览器]上显示,您需要downlevel-revealed conditional comment

<!--[if gte IE 8]><!-->
    <div class="anythingSlider">
        ...
    </div>
<!--<![endif]-->

(注意这不是一个下层揭示的CC的官方MS语法,因为这将是无效的HTML。)

答案 1 :(得分:1)

你正在看这样的事情:

<!--[if lt IE 7]>
      <div class="wrapper">
        <ul>
           <li>
                <img src="gallery/1.jpg" alt="" />
           </li>
            <li>
                <img src="gallery/2.jpg" alt="" />
           </li>
<![endif]--> 

AFAIK您没有单独指定浏览器。这个“黑客”只对IE有效。

答案 2 :(得分:1)

好吧,好吧。

此外,您只能隐藏IE中的内容。

<!--[if !IE]><!--> IE won't see it. <!--<![endif]-->

答案 3 :(得分:0)

隐藏特定浏览器的实际HTML内容是迈向复杂世界和维护噩梦的一步。更好的方法是采用Progressive Enhancement。但是,如果您确实要隐藏内容,可以在IE6 / 7样式表中使用display: none;,该样式表通过<!--[if lt IE 8]> CSS文件条件注释加载。