Safari忽略某个点以下的css max-width媒体查询

时间:2013-04-12 16:45:50

标签: css css3 safari media-queries

我正在努力优化响应式网站,Safari(桌面和移动设备)似乎完全忽略了某个点以下的媒体查询。我有以下代码:

@media screen and (max-width: 767px){
    /* Safari responds to css here */
}
@media screen and (max-width: 640px){
    /* css here is ignored by Safari */
}

Firefox和Chrome都做出了适当的回应。有没有人对正在发生的事情有任何想法?

您可以在此处查看该网站:http://kgillingham.webfactional.com。应该发生什么(并且适用于FF和Chrome)是因为网站变得小于640px,滑块中的标题字体应该变得更小。

编辑:网站现已更新为使用javascript在大小小于640px时添加类。该类始终使用较小的字体大小。这意味着它现在按预期工作,但我宁愿使用CSS媒体查询而不是javascript,所以我仍然希望看到一个解决方案。

3 个答案:

答案 0 :(得分:12)

原来我错过了一个波浪形的支架,所以我的代码如下:

@media screen and (max-width: 767px){
    /* lots of css */
    .some_selector { padding: 20px; /*<---- missing squiggly brace*/
    /* more css */
}
@media screen and (max-width: 640px){
    /* lots more css */
}

插入缺失的大括号导致Safari开始工作。其他浏览器没有扼杀错误,这部分是为什么它很难追踪。

感谢大家的帮助,我现在觉得很傻。

答案 1 :(得分:0)

@media规则与普通css规则的概念相同,最新规则会覆盖第一个规则。但如果规则不同,它就不会否决它。

你可以通过输入来解决这个问题,这个代码只是由webkits解释

@media screen and (-webkit-min-device-pixel-ratio:0) {
    /* put webkit CSS here*/
}

答案 2 :(得分:0)

我还遇到了与媒体查询类似的问题,这些查询在错误的断点处工作:This thread可能会帮助其他人来到这里。引用

尝试放大/缩小到0,即。正常分辨率。按Command + 0

只是一个想法:您能在Safari中提高字体大小吗?尝试按Command 0以确保将其重置为默认字体大小。

不,但是你说的让我明白了!!!谢谢你们俩帮助我完成这项工作。问题是,我不是通过调整窗口大小而是通过放大页面来测试媒体查询的。

所以,我的问题不是我的想法。我应该重新发布这个新问题吗?在FF和Chrome中,当我放大网页时,上面代码中的媒体查询会启动,但在Safari中,不会。我可以做些什么使Safari在这里更像FF和Chrome吗?