如何应用IE11特定的CSS

时间:2014-04-01 13:36:38

标签: css extjs ie11-developer-tools

我是IE11的新用户。   我想在我的extjs应用程序中集成一个IE11特定的CSS。   我搜索了很多。   如果有人有任何想法,请告诉我。我的期限很重。  提前谢谢。

3 个答案:

答案 0 :(得分:1)

    applyIEFont = function() {
        var iev=0;
        var ieold = (/MSIE (\d+\.\d+);/.test(navigator.userAgent));
        var trident = !!navigator.userAgent.match(/Trident\/7.0/);
        var rv=navigator.userAgent.indexOf("rv:11.0");

        if (ieold) iev=new Number(RegExp.$1);
        if (navigator.appVersion.indexOf("MSIE 10") != -1) iev=10;
        if (trident&&rv!=-1) iev=11;

        if(iev == 11 || iev == 10) {
            $('.menuCaption').css({ font: 'normal 34px arial, "SegoeUi"'});
        }
    };

    setInterval(applyIEFont, 300);
    $(document).ready(applyIEFont);

看一下这段代码。有条件的评论在ie11中不起作用,所以你必须用js

来做

答案 1 :(得分:1)

您最好的选择是检测IE 11并相应地应用CSS类。像这样(使用jQuery):

$(window).load(function(){
  if(navigator.userAgent.match(/Trident.*rv:11\./)) {
    $('body').addClass('ie11');
  }
});

您可以将该类应用于您知道IE 11异常的任何元素,然后只需在CSS中使用该类:

body.ie11 { }

答案 2 :(得分:1)

这是一个两步解决方案 这是对IE10和11的攻击

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

因为IE10和IE11支持-ms-high-cotrast你可以利用这个来定位这两个浏览器

如果你想从中排除IE10,你必须创建一个IE10特定代码,如下所示使用用户代理技巧你必须添加这个Javascript

 var doc = document.documentElement;
doc.setAttribute('data-useragent', navigator.userAgent);

和此HTML标记

<html data-useragent="Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)">

现在您可以像这样编写CSS代码

html[data-useragent*='MSIE 10.0'] h1 {
  color: blue;
}

有关详细信息,请参阅此网站,第一名:wil tutorail

第二:Chris Tutorial