I am new user for IE11. I want to integrate one IE11 specific css in my extjs application. I have searched a lot. If anybody is having any idea , please let me know..I am having heavy deadline on this. Thanks in advance.
问问题
596 次
3 回答
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 tutorial
第二:克里斯教程
于 2014-04-01T14:01:35.740 回答
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来做
于 2014-04-01T13:41:07.063 回答
1
您最好的选择是检测 IE 11 并相应地应用 CSS 类。像这样的东西(使用jQuery):
$(window).load(function(){
if(navigator.userAgent.match(/Trident.*rv:11\./)) {
$('body').addClass('ie11');
}
});
您可以将该类应用于您知道有 IE 11 异常的任何元素,然后只需在 CSS 中使用该类,如下所示:
body.ie11 { }
于 2014-04-01T13:43:54.220 回答