项目中做打印预览时,在IE10中出现兼容性问题,需要针对IE10做特殊处理。 在网上搜了一下,有三种方法可以实现 一、特性检测:@cc_on <!--[if !IE]><!--><script> if (/*@cc_on!@*/false) { document.documentElement.className+=' ie10'; } </script><!--<![endif]--> 文章中说该方法可行,但我在IE8中试了也同样返回true 二、@media -ms-high-contrast 方法 @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { /* IE10-specific styles go here */ } //由于是在js中使用,所以改动一下 function isIE10(){ var flag = false; try{ if(window.matchMedia("screen and (-ms-high-contrast: active), (-ms-high-contrast: none)").matches){ flag = true; } }catch(e){ } return flag; } 实际使用的该方法解决有一个问题,如果IE10的文档模式设置为IE10以下,同样也会和其它版本的IE得到一样的"false"结果。 这个时候使用<META http-equiv="X-UA-Compatible" content="IE=edge" />显示定义IE的文档模式“edge”为最新版本 三、@media 0 方法 这个方法不是太完美,因为IE9和预览版的IE11也支持media和\0的hack。 @media screen and (min-width:0\0) { /* IE9 , IE10 ,IE11 rule sets go here */ } 该方法没有试过 参考文章:http://www.css88.com/archives/5273