是否有符合IE8(和怪癖模式)的:not
css3选择器的替代品。
在css或javascript / jquery中模拟选择器或类似的东西。
我正在使用*:not
,如下所示。随意推荐一种避免完全使用:not
的解决方案。
@media screen {
#printable {
visibility: hidden;
}
}
@media print {
*:not(#printable) {
visibility: hidden;
}
#printable {
position: absolute;
visibility: visible;
}
}
请注意,:not
的使用与@media print
的使用有关,因此只使用简单的jQuery解决方案将css应用于$(":not(#printable)")
,如果不聪明,将无法正常工作。
包括像ie9.js或selectivirz这样的整个库不是一个选项,因为它可以影响页面的其他各个部分,并且会涉及大量的重新测试。
一个jsfiddle,显示它在支持:not
http://jsfiddle.net/Raynos/TjKbz/的浏览器中工作
答案 0 :(得分:5)
在这种情况下,我认为您不需要:not
:
@media screen {
#printable {
visibility: hidden;
}
}
@media print {
* {
visibility: hidden;
}
#printable {
position: absolute;
visibility: visible;
}
}
选择器#printable
的优先级高于*
,因此您的#printable
元素将可见。
答案 1 :(得分:1)
您可以尝试特异性覆盖,即
@media print {
* {
visibility: hidden;
}
#printable, #printable * {
visibility: visible;
}
}
答案 2 :(得分:-3)