我正在尝试仅为iE 10添加css。
实际上我的css在chrome和firefox中运行良好。但是在IE 10中产生了一些问题。
我尝试了这段代码并制作了ie10.css,但它无效。
<script>
if (/*@cc_on!@*/false) {
var headHTML = document.getElementsByTagName('head')[0].innerHTML;
headHTML += '<link type="text/css" rel="stylesheet" href="css/ie10.css">';
document.getElementsByTagName('head')[0].innerHTML = headHTML;
}
</script>
它不起作用。请帮助。
答案 0 :(得分:22)
您可以使用
轻松跟踪最新版本的IE(主要是IE 10和IE 11)<强> 1。 CSS媒体查询黑客:
/*
#ie10,11 will only be red in MSIE 10,
both in high contrast (display setting) and default mode
*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
//-- Put your IE specific css class here
}
OR
@media screen and (min-width:0\0) {
/* IE9 and IE10 rule sets go here */
}
<强> 2。浏览器检测:
if ($.browser.msie && $.browser.version == 10) {
$("html").addClass("ie10");
}
第3。使用脚本(未测试):
<script>
/*@cc_on
@if (@_jscript_version == 10)
document.write('<link type= "text/css" rel="stylesheet" href="your-ie10-styles.css" />');
@end
@*/
</script >
注意:我知道document.write
被视为不良做法。
条件评论(即删除条件评论):
如果要为IE加载外部css文件,可以使用条件注释。但正如你提到的那样,你想要IE 10和 ie10删除条件评论。
答案 1 :(得分:6)
这是我在项目中使用的另一个技巧,你可以用你的类替换h1或拥有CSS
IE10 Only
使用此JavaScript:
var doc = document.documentElement;
doc.setAttribute('data-useragent', navigator.userAgent);
然后使用这个CSS:
html[data-useragent*='MSIE 10.0'] h1 { color: blue; }