【发布时间】:2013-09-30 09:52:42
【问题描述】:
我是 HTML5 和 CSS3 的新手,所以我正在做一个简单的项目来更好地学习它。我最近发现了响应式设计,所以我正在创建一个可以扩展到我的手机的页面。我使用媒体查询,我创建了两种状态,一种用于屏幕 640 像素(移动)和更小,另一种用于屏幕 641 像素和更大(桌面)。该网站运行良好,当我缩放窗口时在我的桌面上显示正确的样式,当我在手机上查看时显示正确的样式。
但是,在运行该网站后,我决定检查我的 HTC One 的分辨率 - 它是 1080p。无论方向如何,我的手机都会显示 640 像素的网站。我想知道为什么会这样;手机的高分辨率不应触发移动状态,但确实如此。我想我可能会对决议的实际工作方式感到困惑。
那么,我如何确定手机(和平板电脑)的真实分辨率,以便为它们创建适当缩放的网站?
//Mobile
@media screen and (max-width: 640px) {
...
}
//Desktop
@media screen and (min-width: 641px) {
...
}
编辑 感谢下面的 JoshCs 评论,我意识到我在教程中使用了 viewport 元标记。我想修改我的问题来问:视口标签如何确定任何给定设备要显示的分辨率(如何根据设备的尺寸确定视口分辨率)?
<meta name="viewport" content="width=device-width; initial-scale=1.0">
【问题讨论】:
-
您是否设置了视口..?
<meta name="viewport" content="width=device-width, initial-scale=1"> -
既然你提到了它,我从教程中得到了以下标记。不知道它是做什么的——教程只是说它对 iPhone 来说是必要的。删除它确实会将网站重新缩放到桌面视图。
-
在 JoshC 回复后我更新了我的问题;见上面的编辑。 width=device-width 如何从设备的物理宽度确定分辨率?如何使用手机尺寸计算手机的视口分辨率?