方法二:@media -ms-high-contrast
IE10支持媒体查询,然后也支持-ms-high-contrast这个属性,所以,我们可以用它来hack ie10:
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
/* IE10-specific styles go here */
}
这种写法可以适配到高对比度和默认模式。所以可以覆盖到所有ie10的模式了。
然后这种方式可能也会在后面的IE11中生效。
当然,方法二也可以和方法一一起用:
if (window.matchMedia(“screen and (-ms-high-contrast: active), (-ms-high-contrast: none)”).matches) {
document.documentElement.className += “ie10”;
}
实例:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
</body>
</html>
方法三:@media 0
这个有些变态了,而且不太完美,因为IE9也支持media,也支持 的hack:
@media screen and (min-width:0 ) {
/* IE9 and IE10 rule sets go here */
}
不过,估计后面ie10也会普及到Windows 7平台,所以ie9会消失,只是看看ie8和ie7的份额,这种情况可能不会发生吧。
结束语
事实是,你不应该使用css hack针对IE10浏览器,甚至是IE9浏览器。使用一个很好的CSS工作流程,在编写代码时,应用良好的原则。
而在大多数情况下,当不同的,你应该能功能检测,以填补空白,或者使用优美的退化允许接受的经验IE10。
如果任何人有任何其他的关于ie10 css hack的相关信息,或知道任何其他的针对IE10的条件注释方法,欢迎更新相应的方法。










