您是否考虑过使用Respond.js或CSS3-MediaQueries.js为(主要)IE7 和 IE8 添加媒体查询支持?
为每个人加载响应式 css,然后将你的 modernizr 调用更改为:
Modernizr.load({
test: Modernizr.mq('only all'),
yep: ['test.js'],
nope: ['/js/respond.js']
});
我用这种方法取得了一些成功。最坏的情况是,仅使用 IE7 或 IE8 的访问者可能会看到未设置样式的内容。
如果您需要对旧版浏览器进行更多调整,您可以在页面标题中包含条件注释,添加 ie 标记或加载 js 脚本,最后在您的 CSS 中包含特定于浏览器的额外 CSS,例如:
HTML
在头脑中:[编辑]
<script>
Modernizr.load({
test: Modernizr.mq('only all'),
yep: ['test.js'],
nope: ['/js/respond.js']
});
</script>
<!-- load the responsive CSS for everyone -->
<link rel="stylesheet" href="/a/s/responsive-css/abcd.css" type="text/css"/>
<!--[if IE 7]>
<html class="ie7">
<script src="/js/ie7-script.js">
</script>
<![endif]-->
CSS
然后在 CSS 中添加
.ie7 .additional-selector{
/* Optional css specific to IE7 to compensate for old browser. Ideally this wouldn't be needed */
}
希望这可以帮助!