【问题标题】:media queries overridden by general declarations被一般声明覆盖的媒体查询
【发布时间】:2014-12-07 02:16:38
【问题描述】:

我的common css规则如下:

#dayslist > div {
   height: 51px;
}

和媒体查询css规则:

@media (max-width: 979px){
    #dayslist > div {
        height: 44px;
    }
}

但是当我将浏览器缩小到小于 979px 的宽度时,媒体查询规则不适用,并且通用 css 规则优先于媒体查询中定义的规则。

【问题讨论】:

  • 您的意思是媒体规则存在,但通用 css 规则接管了它?
  • @ShirinAbdolahi 是的!!
  • 尝试删除 > div?
  • @nCore...但是我必须将样式应用于daylist而不是daylist中的div!!
  • 您已删除行号,这有助于了解您的查询为何不起作用。如果您的媒体查询出现在另一个声明之前,则 MQ 将始终被后面的声明覆盖。

标签: css responsive-design media-queries


【解决方案1】:

您正在用稍后的语句覆盖您的媒体查询声明:

@media (max-width: 979px){
    #dayslist > div {
        height: 44px;
    }
}

...

#dayslist > div {
   height: 51px;
}

无论屏幕宽度如何,第二条语句,将高度设置为 51 像素,将始终适用。解决方案是在通用声明之后加载媒体查询,以便它们覆盖通用 css 规则,即:

#dayslist > div {
   height: 51px;
}
@media (max-width: 979px){
    #dayslist > div {
        height: 44px;
    }
}

【讨论】:

  • 把 MQ AFTER 放在一般规则上——看我的回答。
  • 我通常组织我的 css 文件以使媒体查询在最后——这样就不会有被其他声明弄乱的危险。
猜你喜欢
  • 2017-01-14
  • 1970-01-01
  • 2012-07-10
  • 1970-01-01
  • 2019-05-07
  • 2016-02-10
  • 2014-05-09
  • 2020-12-23
  • 1970-01-01
相关资源
最近更新 更多