IE7 Elements获取媒体查询

时间:2013-01-15 22:54:55

标签: internet-explorer-7 media-queries

IE7正在扫描我的CSS中的所有样式,无论他们是否在媒体查询中。我以为IE7 / 8忽略了媒体查询。它并没有忽略它们,它只是钻研并抓住所有风格。很奇怪。

我试图寻找解决方案,但我能找到的就是破解它的方法,因此媒体查询实际上可以在IE7中运行。

最好的方法是为IE7中没有加载的媒体查询创建单独的css文件吗?

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我遇到了同样的问题。 IE7不会忽略媒体查询,所以我想到了两个解决方案,但我希望有一个更优雅的解决方案:

1)将所有查询放在页面顶部,因此最后的默认外观优先。不幸的是,如果您根据屏幕大小覆盖样式,那么您必须将媒体查询放在底部。

2)使用特定于IE的样式表(在主样式表后加载)重置IE7中的样式。我一直在使用的方法取自Boilerplate(特别是Wordpress中的Boilerplate主题:http://wordpress.org/extend/themes/boilerplate):

<!--[if lt IE 7 ]><html class="no-js ie ie6 lte7 lte8 lte9"><![endif]-->
<!--[if IE 7 ]><html class="no-js ie ie7 lte7 lte8 lte9"><![endif]-->
<!--[if IE 8 ]><html class="no-js ie ie8 lte8 lte9"><![endif]-->
<!--[if IE 9 ]><html class="no-js ie ie9 lte9"><![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--><html class="no-js"><!--<![endif]-->

这使您可以定位IE浏览器,并且可以将样式放在自己的样式表中(因此其他浏览器根本不加载它)或者在普通样式表的末尾。

html.ie7 div {}

这两种方法都不是很优雅......这个废话就是我讨厌Internet Explorer的原因。 (您是否相信我的网站仍然可以访问IE7和IE6用户?对于IE6用户来说太糟糕了,但我甚至不再需要检查它们的兼容性了。)