【问题标题】:viewport media query works on desktop but not on mobile视口媒体查询适用于桌面,但不适用于移动设备
【发布时间】:2016-05-07 02:16:15
【问题描述】:

我正在尝试 css 的响应式设计功能。当我将最大宽度设置为370px 并将我的容器设置为该宽度时,即使屏幕宽度较小,它也应该保持这种状态。在谷歌浏览器中使用开发人员工具时,当我设置为从桌面查看时,它可以完美运行,但当我设置为从手机查看时,它却没有。我添加了<meta> 标签和所有内容。怎么回事?

这些是规格:

@media screen and (max-width:370px) {
    #container {
        width:370px;
    }
}

【问题讨论】:

  • 您确定此代码已正确复制到问题中吗?白色空间看起来很奇怪。
  • 您是否在您的页面中包含此元 <meta name="viewport" content="width=device-width, initial-scale=1">
  • 如果问题css代码不正确需要像tib @meta screen and (max-width: 370px){ #container { width:370px; } }

标签: css


【解决方案1】:

最有可能的是您正在覆盖媒体查询中设置的值,稍后在您的 CSS 页面中,例如:

@media screen and (max-width:370px) {
     #container {
     width:370px;
    }
}
....
#container {
   width:90%;
}

CSS 将覆盖 latest-is-retained 结构中的相等规则,因此,如果有的话,您的媒体查询应该是独占的(每个相关规则仅出现在查询 {...} 块中。 p>

宽度尺寸也不重叠,例如:

@media screen and (max-width:370px) {
     #container {
     width:370px;
    }
}
@media screen and (max-width:600px) {
     #container {
     width:600px;
    }
}

第二个查询将覆盖第一个查询,因为两者都返回 TRUE。 下面是如何编写语法的更好示例:

@media screen and (max-width:370px) {
     #container {
     width:370px;
    }
}
@media screen (min-width:371px) and (max-width:600px) {
     #container {
     width:600px;
    }
}

您还只需要一个位于 HTML 页面顶部的视口元标记。使用 chrome 开发人员工具查看为页面加载了哪些 CSS 规则,并使用它来确定媒体查询是否返回 true,然后您可以找出原因并更精确地定义它们。

【讨论】:

  • 做了这一切,但仍然没有修复....转到控制台,似乎@media 查询仅在我选择桌面视图时返回 TRUE,而在移动设备中返回 FALSE....
  • @CarlosJ。好的,然后删除“屏幕”引用,因为这通常是不需要的。还可以在 Firefox -> 开发者工具 -> 响应式设计视图(我不知道 Google 是否有类似的视图)上尝试一下,以测试它在各种设备上的各种屏幕尺寸下的显示方式。
猜你喜欢
  • 2016-07-22
  • 2021-07-13
  • 2012-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-29
相关资源
最近更新 更多