【问题标题】:Media queries not working in IE8 - even with respond.js work-around媒体查询在 IE8 中不起作用 - 即使使用 respond.js 解决方法
【发布时间】:2015-02-14 01:40:38
【问题描述】:

我的网站由 5 个 div 组成(用绿色框表示)。应该有 每行 3 个,您可以在此处查看我的演示站点:http://testsite24.netai.net/public/demo.html

IE 8 不支持媒体查询,但我使用 respond.js 作为解决方法。但我无法让它工作。

我使用的媒体查询是:

@media screen and (max-width: 1320px){

.block{
    width: 45%;    
    margin: 0 15px;
    margin-bottom: 30px;
    min-height: 670px;
    max-height: 670px;
    overflow: hidden;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;    
/*    border: 1px solid red;*/
}
   }
        @media screen and (max-width: 772px){

    .block{
    width: 100%;    
    margin: 0 15px;
    margin-bottom: 30px;
    min-height: 710px;
    max-height: 710px;
    overflow: hidden;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;    
/*    border: 1px solid red;*/
}
    }

其中 .block 适用于绿色 div 框。除了在 IE8 中,这些都可以正常工作。

在我的所有 css 之后,我正在调用 response.js,就在这样的标签之前:

<script src="http://testsite24.netai.net/public/js/respond.js" type="text/javascript"></script>

但是当我在 IE 8 中查看页面时,它没有响应查询,

这是 IE8 中的截图:

这是 IE 9 的一个(正确):

怎么了??感谢您的帮助!

【问题讨论】:

    标签: javascript html css internet-explorer-8 media-queries


    【解决方案1】:

    设置视口。

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" />
    

    将 css 放入外部文件并链接到它。

    <link rel="stylesheet" href="/public/demo.css" />
    

    并取出only关键字,改为min-width

    @media screen 
    and (min-width : 773px) { 
        //instead of (max-width:1320px)
    }
    

    应该这样做。

    【讨论】:

    • 感谢 Ryan,我仍然遇到问题:我更新了我的演示代码以包含 @media only screen 和 (min-width : 773px) 和 (max-width : 1320px) { .block{ ***这里的样式**** } } 和
    • 然后@media only screen and (min-width : 10px) and (max-width : 772px) { .block{ STYLES HERE } } 但 IE8 仍然没有响应...您可以查看我的演示源代码以确保我已正确更改它。非常感谢
    • 去掉&lt;title&gt;&lt;/title&gt;标签下面的's',然后尝试just使用min-width
    • 更改了代码,但仍然无法正常工作。我现在对块的唯一媒体查询是@media only screen and (min-width : 773px) { .block{ width: 45%;边距:0 15px;边距底部:30px;最小高度:670px;最大高度:670px;溢出:隐藏; -webkit-border-radius:5px; -moz-边界半径:5px;边框半径:5px; /* 边框:1px 纯红色;*/ } } .. 但它仍然只在 IE 8 中没有响应。这是 IE8 的屏幕截图:testsite24.netai.net/public/IE82.png。这是 IE9:testsite24.netai.net/public/IE92.png
    • 这似乎行得通,瑞恩。谢啦。唯一的问题是它似乎将最小的媒体查询应用于所有视口大小。最小的媒体查询为 10px,@media screen and (min-width : 10px) { .block{ width: 100%; } 但我还包括 (at) 媒体屏幕和 (min-width : 402px) { .block{ width: 45%; }} 上面,这似乎被 10px 媒体查询压倒了。如何调整代码以允许变化?在大视口中,我每行需要 3 个 div。中等视口我每行需要 2 个。小,每行 1 个。 .
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    相关资源
    最近更新 更多