这是一些HTML:
<iframe src="test.html" style="width: 200px; height: 100px;"></iframe>
<iframe src="test.html" style="width: 800px; height: 100px;"></iframe>
test.html
页面包含来自外部文件的一些CSS:
<link rel="stylesheet" type="text/css" href="style.css" />
样式表有:
@media all and (max-width: 600px) {
body {background-color: red;}
}
以上是简化的,但足以证明这个问题:两个页面都是红色的,尽管其中一个明显比另一个更宽。 Demonstration page
是什么给出了?
(注意:在IE和Chrome中测试过 - Chrome很好,一帧红色,另一帧白色。)
答案 0 :(得分:18)
正如您在this answer中所读到的,Internet Explorer 9支持CSS3媒体查询,但当包含媒体查询的CSS位于外部文件中时,不支持帧内,因此您应该将媒体查询放在test.html
页面。以前的IE版本本身不支持媒体查询,但您可以使用javascript库(请参阅respond.js或css3-mediaqueries-js)来解决此问题。
答案 1 :(得分:-1)
您可以使用以下脚本使用jquery来完成这项工作:
<script src="http://code.jquery.com/jquery-1.8.1.min.js"></script>
<script>
$(document).ready(function() {
if ($(document).width() < 600) {
$('body').css('background-color', 'red');
};
});
</script>