Css IE中的媒体查询

Css IE中的媒体查询,css,internet-explorer,media-queries,Css,Internet Explorer,Media Queries,我的响应网站和Internet Explorer(见图)有问题,我想知道是否有人可以看看nickpassaro.com标题中的源代码,帮助我找出IE9和IE8不能正常工作的原因。我不确定这是否是我的css的问题,因为我的三个样式表都通用的一些属性不起作用(比如标题的背景) 我使用html5shiv作为我的polyfill,它不是来自我服务器上的本地副本。我还使用normalize.css,它说它适用于IE8+ 谢谢 如果您正在寻找更强大的CSS3媒体查询支持,您可以试试。在测试中,我发现该脚本在

我的响应网站和Internet Explorer(见图)有问题,我想知道是否有人可以看看nickpassaro.com标题中的源代码,帮助我找出IE9和IE8不能正常工作的原因。我不确定这是否是我的css的问题,因为我的三个样式表都通用的一些属性不起作用(比如标题的背景)

我使用html5shiv作为我的polyfill,它不是来自我服务器上的本地副本。我还使用normalize.css,它说它适用于IE8+

谢谢


如果您正在寻找更强大的CSS3媒体查询支持,您可以试试。在测试中,我发现该脚本在呈现复杂的响应设计时(在文件大小和性能方面)速度明显较慢,但它确实支持比该脚本多得多的媒体查询功能。给作者的大礼帽提示!:)

有两种不同的方法可以实现这一点,您可以使用一些jquery或JS来实现这样的IE版本

function adjustStyle(width) {
    width = parseInt(width);
    if (width < 701) {
        $("#size-stylesheet").attr("href", "css/narrow.css");
    } else if ((width >= 701) && (width < 900)) {
        $("#size-stylesheet").attr("href", "css/medium.css");
    } else {
       $("#size-stylesheet").attr("href", "css/wide.css"); 
    }
}
功能调整样式(宽度){
宽度=parseInt(宽度);
如果(宽度<701){
$(“#大小样式表”).attr(“href”,“css/slown.css”);
}否则,如果((宽度>=701)和&(宽度<900)){
$(“#大小样式表”).attr(“href”,“css/medium.css”);
}否则{
$(“#大小样式表”).attr(“href”,“css/wide.css”);
}
}
或者你可以像这样为不同的IE版本编写不同的css 适用于所有版本的IE

 <!--[if IE]>
    <link rel="stylesheet" type="text/css" href="all-ie-only.css" />
<![endif]-->

对于特定版本

<!--[if IE 7]>
    <link rel="stylesheet" type="text/css" href="ie7.css">
<![endif]-->


我为IE9声明了一个doctype的html,它现在可以工作了,但IE8不会接受这样一个建议:在浏览器中检查IE是否真的弊大于利。为了使您的代码能够经得起未来的考验(而且由于IE10的互操作非常出色,所以现在也能经得起考验),您应该对您想要使用的特定CSS特性使用特性检测。你可以利用它使这更容易。这不仅可以检查旧的IE版本,还可以检查其他非主流浏览器,使您的站点在更多平台上看起来更好。