是否只有针对IE9的黑客攻击?我只在IE9中遇到问题,其他浏览器工作正常。我正在使用\9
,但它也影响了IE8。
我不想使用条件评论。
答案 0 :(得分:21)
您可以使用此:root #element { color:pink \0/IE9; } /* IE9 + IE10pp4 */
答案 1 :(得分:15)
我想出了一个媒体查询来做到这一点。它仅指定IE9。
@media all and (min-width:0\0) and (min-resolution:.001dpcm)
{
#div { color:red; }
}
我制作的其他内容,包括msie 9+媒体查询,都在我的github页面上:https://github.com/jeffclayton/css_hack_testing - 其中大部分已发送到browserhacks.com以供收录。
2017更新:为了看到它正常运行,我在这里创建了一个实时测试页面以及我在http://browserstrangeness.bitbucket.io/css_hacks.html和MIRROR工作的许多其他人:http://browserstrangeness.github.io/css_hacks.html
当您将代码复制到您自己的站点时,请注意它是min-width:0 \ 0(零反斜杠为零)。不要与min-width混淆:0(只是一个零),这不能区分IE9与其他浏览器。
答案 2 :(得分:5)
还有另一种方式!
:root #div { background: #fff \0/IE9; } /* IE9 */
使用:root
伪相选择器。这是有效的,因为在IE9中删除了@media all and (min-width:0)
部分以支持此方法。
请注意,这不是一种安全的方法,因为它不适用于所有选择器。最好的方法是条件注释,它是目标不同版本的Internet Explorer最安全,最简单和最好的方法,除了IE10,它已经放弃了对条件注释的支持。
答案 3 :(得分:0)
In my IE9 EMULATOR none of the solutions listed worked. The only hack that properly enabled us to resize, for example, a checkbox in IE9 was:
/* IE9 */
:root input#my-checkbox {
width:20px !important \ ;
height:20px !important \ ;
box-sizing:content-box !important \ ;
}
I don't know if this also affects IE8 or IE10 etc but we have conditionals handing those separately anyway.
Hopefully this helps someone.