有没有针对所有IE浏览器的CSS hack?而不是特定的IE版本。
我尝试过:
但它在IE7和IE11上无法正常工作。
我尝试过:
@media \0screen\,screen\9 {
body { background: green; }
}
但它在IE7和IE11上无法正常工作。
@media \0screen\,screen\9 {
body { background: green; }
}
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="all-ie-only.css" />
<![endif]-->
/* <= IE 7 */
@media screen\9 {}
/* IE 8 */
@media \0screen {}
/* >= IE10 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {}
Important: For IE9 and above Read this:
https://dev59.com/QGw15IYBdhLWcg3wv-ba#15442638
在某些情况下,最好仅针对以下(其他)浏览器启用特定功能: /* WebKit */
@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) { .selector {} }
/* Opera >= 12 */
@media (min-resolution: .001dpcm) { _:-o-prefocus, .selector {} }
/* Firefox > 4 */
@media screen and (min--moz-device-pixel-ratio:0) {}
我也遇到了同样的问题,当我要实现一个svg动画文件时。我希望排除所有IE版本,而是为它们使用gif动画,因为没有任何IE版本支持动态SVG文件。但是看看这个:
http://caniuse.com/#feat=svg-smil
正如您在我的案例中所看到的,最好将动画GIF作为默认实现,并仅在上面列出的“其他”浏览器中使用SVG。
我在http://browserhacks.com/上找到了这些媒体查询。
<!--[if IE]>
<style>
body { background: green; }
</style>
<![endif]-->
试试这个。这是一个在IE 7到10中测试过的CSS hack:
@media all and (-ms-high-contrast:none)
{
.myClass { myProperty: myValues }
*::-ms-backdrop, .myClass { myProperty: myValues }
}
对我来说,它运行得很好;)
如果您需要针对所有非IE(非<= ie11)浏览器进行定位:
@media { @media {
/* Your styles ... */
}}
它仅适用于现代浏览器,因为IE <= 11不支持嵌套媒体查询。
不,你不能在一个媒体查询中实现所有版本的IE,因为尚未找到/创建适用于所有Internet Explorer版本的媒体查询,但你可以将其分割为两个不同的CSS组。以下是一种方法:
这个方法适用于8及更新版本:
/* Internet Explorer 8+ (Media Query) */
@media screen\0 {
body { background: green; }
}
就像你的这个确实是一个CSS hack。IE 9官方支持媒体查询,但是通过hack技巧,IE 8及以下版本被欺骗以使其能够正常工作。
下面是一个适用于IE 7及以下版本的hack:
/* Internet Explorer 7- (Media Query) */
@media screen\9 {
body { background: green; }
}
/* Internet Explorer 7- (Another Media Query) */
@media, {
body { background: green; }
}
有很多方法可以进行IE 7的hack。