Safari忽略特定点以下的CSS最大宽度媒体查询

问题描述 投票:16回答:3

我正在优化响应网站,而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时,滑块中的标题字体应该变小。

edit:网站现已更新,可以在大小小于640px时使用javascript添加类。该类始终使用较小的字体。这意味着它现在可以按预期运行,但是我更希望使用CSS媒体查询而不是JavaScript,因此我仍然希望看到一个解决方案。

css safari media-queries
3个回答
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开始工作。其他浏览器没有阻止该错误,部分原因是它是如此难以跟踪。

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


0
投票

@ media规则与普通的CSS规则具有相同的概念,最新的规则将覆盖第一个规则。但如果规则不同,则不会推翻它。

您可以通过输入解决方法,此代码将由Webkit解释

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

0
投票

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

尝试放大到0缩小

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

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

© www.soinside.com 2019 - 2024. All rights reserved.