仅为IE11加载CSS(样式表)

7

我想仅在IE11浏览器中加载css文件,我该怎么做?

我知道可以使用条件注释来为IE <= 9加载样式表,但不适用于IE 10和11。

我可以谷歌并找到以下替代方案:

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
/* IE10+ CSS styles go here */
}

但是,它可以加载IE10和IE11浏览器的样式表。我想只在IE11中加载样式表。这可能吗?

谢谢


2
请查看这个 Stack Overflow 的问题:https://dev59.com/qGMk5IYBdhLWcg3w2ReT#27315792 - Arpit Srivastava
谢谢Arpit,链接确实很好。我至少可以使用Modernizr完成我的任务。让我们看看。谢谢。 - Shubh
2个回答

18

如果只有IE11

@media all and (-ms-high-contrast:none)
 {
 .foo { color: green } /* IE10 */
 *::-ms-backdrop, .foo { color: red } /* IE11 */
 }

如果您的目标浏览器是IE 9、10、11,您可以尝试以下方法:

@media screen and (min-width:0\0) { 
    /* Enter CSS here */
}

如果是IE10或更高版本

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {  
   /* IE10+ specific styles go here */  
}

此外,进行谷歌搜索会得到这个结果

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

0

你可以尝试使用jQuery,将类添加到body中,并像通常一样添加你的CSS,这样它只会在IE 11中采用类。

if ($.browser.msie && $.browser.version <= 11) {
 $("body").addClass("ie10");
}

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