【问题标题】:CSS media query for large screen overwriting media query for small screen大屏幕的 CSS 媒体查询覆盖小屏幕的媒体查询
【发布时间】:2016-01-15 09:49:57
【问题描述】:

我正在使我的新开发网站具有移动响应能力,但我注意到一些奇怪的行为让我有点发疯。希望有人能指出我在这里做错了什么。当我以小分辨率进行测试时,比如 320px 宽度,720px 宽度的规则也被应用,并且由于它们在级联中较低,因此具有优先权。我每次都在较小的查询上用一个 !important 声明来抵消这一点,但我知道这不可能是正确的。

我的实际 CSS 太大而无法包含,但这是我所看到的示例。如果我在大型平板电脑/小型桌面上并排有两个 DIV,但希望它们是全宽的,并且在手机上一个在另一个之上:

@media screen and (max-width:479px){
     div{width:100%}
}
@media screen and (max-width:1159px) and (min-width:980px){
     div{width:49%;float:left}
     div:first-child{margin-right:2%}
}

当我签入 320px 到 479px 宽度时,会加载 980-1159 的规则,我必须使用 !important 声明并将 float 设置为 none 并将 margin 设置为 0。为什么会发生这种情况,我做错了什么?

【问题讨论】:

    标签: css responsive-design media-queries


    【解决方案1】:

    我假设事情的顺序是错误的:

    代替:

    @media screen and (max-width:1159px) and (min-width:980px){
    

    我改成:

    @media screen and (min-width:980px) and (max-width:1159px){
    

    而且它似乎工作正常。调整结果方块的大小以查看是否是您要查找的内容:

    https://jsfiddle.net/wyyqLmg6/1/

    【讨论】:

    • 由于某种原因调整结果窗口的大小对我不起作用。我确实认为这可能是一个问题,但我已经尝试了两种方式,但它仍然加载相同。这是 Wordpress 模板的一部分,我想知道某些插件或脚本是否有可能影响媒体查询顺序,但这不应该是可能的吗?我还尝试将较大分辨率的查询移到顶部,以便小分辨率查询优先,但这只会消除对 !important 声明的需要,我仍然必须为空或重置不需要的值。
    • 您好,由于预览区域的宽度可能不会超过 980 像素,因此我将其更改为 480 只是为了进行测试。你能检查它是否适合你吗? jsfiddle.net/wyyqLmg6/1
    猜你喜欢
    • 2023-01-26
    • 2017-01-06
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 2012-12-27
    • 2020-03-17
    • 2015-04-11
    • 2019-05-19
    相关资源
    最近更新 更多