如何指定IE 11特定的css文件?

时间:2015-01-27 11:53:44

标签: html css internet-explorer internet-explorer-11

我目前有一个页面,当用户使用以下html语法单击打印按钮时,我将应用某些特定于浏览器的CSS样式。但是下面的html代码不会应用为IE11指定的css(ie11print.css),而是应用为其余IE版本(ieprint.css)指定的css。

<!--[if IE 11]> <link rel="stylesheet" media="print" title="Print" type="text/css" href="/styles/ie11print.css" /><![endif]-->
<!--[if lte IE 10]> <link rel="stylesheet" media="print" title="Print" type="text/css" href="/styles/ieprint.css" /><![endif]-->
<!--[if !IE]>--><link rel="stylesheet" media="print" title="Print" type="text/css" href="/styles/print.css" /><!--<![endif]-->

有人知道如何仅为IE11指定CSS文件吗? 提前谢谢。

3 个答案:

答案 0 :(得分:5)

使用下面的hack,然后使用你的css样式:

*::-ms-backdrop,

示例:

*::-ms-backdrop,/*Your element*/ {
       /*Your styles*/
    }

注意:它只会影响IE浏览器。所以你需要在此之前应用你的正常风格。

答案 1 :(得分:4)

只需在CSS样式表中添加以下内容,然后在Internet Explorer 11中查看

即可
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) 
 {                                                                                                                     
             Add your styles here
 }

答案 2 :(得分:1)

检查浏览器是否为ie11

然后直接从javascript添加链接标记

         window.location.hash = !!window.MSInputMethodContext;
            if (window.location.hash) 
            {
                var $head = $("head");
                var $headlinklast = $head.find("link[rel='stylesheet']:last");
                var linkElement = "<link rel='stylesheet' href='/styles/ie11print.css' type='text/css' media='screen'>";
                if ($headlinklast.length){
                   $headlinklast.after(linkElement);
                }
                else {
                   $head.append(linkElement);
                }
            }

如果有任何疑虑,请告诉我。 window.location.hash将为ie11

返回true