在IE浏览器中修复CSS <!--[if lt IE 8]>

35

我该如何使用这个:

    <!--[if lt IE 8]>
    <style type='text/css'>
  #header ul#h-menu li a{font-weight:normal!important}
    </style>
    <![endif]-->
如果我移除<!--[if lt IE 8]><![endif]-->,上面的代码会在IE 8中正常运行,但如果我不这样做,它将无法运行。帮我修复IE,以便我可以在所有版本的IE中使用上述代码。
我希望代码#header ul#h-menu li a{font-weight:normal!important}只在IE中运行。

1
你首先想要实现什么目标? - Pekka
无论您在条件语句中使用什么样式,它都将在所有低于IE 8版本的IE浏览器中运行。但我不确定您想要什么,因为该代码针对的是所有低于IE 8的浏览器,在IE 8中不会产生任何影响。请问您能否解释一下您需要的具体内容? - Christophe
我想让代码 #header ul#h-menu li a{font-weight:normal!important} 只在IE中运行。 - meotimdihia
此链接上有一种很好的JavaScript方法可以检测您的浏览器的IE版本。 - axel
8个回答

71

如果您希望在IE 8及以下版本中运行此内容,请使用

<!--[if lte IE 8]>

lte 的意思是“小于或等于”。

更多关于条件注释的信息,请参见例如 quirksmode.org 页面


1
而且,只在你的条件注释中引用外部样式表可能是一个好的实践。在我看来,这样更易读。 - Justus Romijn
2
@Justus:同时具有更好的缓存性能和更小的HTML源代码。 - Tomalak

27
<!--[if lt IE 8]><![endif]-->
上述语句中的lt表示小于,因此意为“如果小于IE 8”。
对于所有版本的IE,您可以直接使用。
<!--[if IE]><![endif]-->

或者适用于所有版本大于IE6的情况,例如。

<!--[if gt IE 6]><![endif]-->

“gt”代表“大于”

如果你想针对IE8及以下版本编写特定的样式,可以这样写:

<!--[if lte IE 8]><![endif]-->

lte 表示“小于等于”


6

[if lt IE 8] 表示“如果低于IE8”,这就是为什么它在IE8中无法工作的原因。

你需要的是 [if lte IE 8],它表示“如果低于或等于IE8”。


6

使用 <!-- [if lt IE 9] > 这段代码可以专门针对IE9进行处理。空格非常重要。


2
这句话的意思是“怎么样”。
<!--[if IE]>
...
<![endif]-->

您可以在此处阅读有关条件注释的内容。

这将有效,因为它会触发所有版本的IE。但是你可能更喜欢使用“lte IE 8”版本,因为你可能不想在IE9中运行它。 - Spudley
OP要求“仅在IE中”,没有进一步的规定。否则,是的,lte IE8肯定更好。 - Boldewyn

0
    <!--[if IE]>
    <style type='text/css'>
    #header ul#h-menu li a{font-weight:normal!important}
    </style>
    <![endif]-->

将在所有版本的IE中应用该样式。


0

另外,注释标签

<comment></comment> 

只有IE 8及以下版本支持,所以如果您想要针对这个版本进行目标定位,可以将它们包裹在注释标签中。它们与

<!--[if lte IE 8]><![endif]-->

其中 lte 意味着 "小于或等于"。

参见:条件注释


0
I found cascading it works great for multibrowser detection.

这段代码用于在ie 8 7 6中更改淡入淡出的显示/隐藏。

$(document).ready(function(){
    if(jQuery.browser.msie && jQuery.browser.version.substring(0, 1) == 8.0)
         { 
             $(".glow").hide();
            $('#shop').hover(function() {
        $(".glow").show();
    }, function() {
        $(".glow").hide();
    });
         }
         else
         { if(jQuery.browser.msie && jQuery.browser.version.substring(0, 1) == 7.0)
         { 
             $(".glow").hide();
            $('#shop').hover(function() {
        $(".glow").show();
    }, function() {
        $(".glow").hide();
    });
         }
         else
         {if(jQuery.browser.msie && jQuery.browser.version.substring(0, 1) == 6.0)
         { 
             $(".glow").hide();
            $('#shop').hover(function() {
        $(".glow").show();
    }, function() {
        $(".glow").hide();
    });
         }
         else
         { $('#shop').hover(function() {
        $(".glow").stop(true).fadeTo("400ms", 1);
    }, function() {
        $(".glow").stop(true).fadeTo("400ms", 0.2);});
         }
         }
         }
       });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接