有没有办法检测IE11并更改整个样式表?

时间:2015-05-25 11:45:56

标签: javascript css internet-explorer

我想知道是否有办法检测IE11,并且使用IF使HTML页面使用不同的样式表。我不想一个一个地改变它,因为它不那么专业。

P.S。:我并没有想办法检测IE11(除非你以不同的方式做到这一点:))

提前致谢。

表示:



var ua = window.navigator.userAgent;
if (ua.indexOf("Trident/7.0") > 0) { //if IE11
    //(set the style sheet 1)
}else{
    //(set the style sheet 2)
}

<style id="s1"> 
    <!--made for ie11-->
</style>

<style id="s2"> 
    <!--made for google chrome-->
</style>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:3)

您好,您可以在css中执行以下操作:

  

IE 11(及以上......)

_:-ms-fullscreen, :root .ie11up { property:value; }

这将仅显示用户在IE11或更高版本时在属性中插入的css。

然后你可以将其余的css放在

  

IE 9

@media screen and (min-width:0\0) and (min-resolution: .001dpcm) { 
 // IE9 CSS
 .ie9{property:value;}
}

还有IE8, 7, 6

我不建议为同一页面提供多个样式表。没有必要使用上面的css在一个样式表中为它们分配不同的类,它可以正常工作。

答案 1 :(得分:1)

<强>更新

我真的很喜欢Josh Stevens&#39;专门针对css并且不需要任何javascript的解决方案。但是,了解IE的documentMode也是一件好事,因为有时您需要根据模式加载不同的javascript文件(尽管通常用于IE&lt; 10)。

<强>原始 猜猜我只是通过使用IE内置documentMode property

的简单方法来做到这一点
if (document.documentMode == 11) {
    // do something awesome 
}

在IE8-11,Firefox和Chrome中测试过这个......似乎工作正常。

答案 2 :(得分:0)

坏消息。 IE11没有HTML条件。你必须用javascript来处理它。