我正在开发一个移动网站,我遇到了一个有趣的问题。
我正在我的台式机以及我的摩托罗拉 Droid (Android 2.2) 上进行测试。我设置了媒体查询以加载 3 种不同的样式表(320 像素宽、480 像素宽和 640 像素宽)。我注意到我的 Droid 正在加载 320 像素的样式表,尽管它有一个 480x854 像素的屏幕。我设置了一些 JS 来找出屏幕宽度是多少,它报告 320px。
Android 浏览器是否在 HDPI 屏幕上以 MDPI 运行?它正确地缩放 320px 以填满屏幕,但我有点困惑为什么会这样。
此外,我的页面上确实有 <meta name="viewport"content="width=device-width">,所以这不是问题。
最佳答案
许多原始设备制造商选择根据 iPhone 的尺寸(或类似分辨率)设置其默认浏览器视口(viewport)尺寸,尽管分辨率完全不同。 Apple 在 iPhone 4 上发布“视网膜显示屏”时遇到了类似的问题,规范表上标明 640px,但 screen.width 设置后将返回 320px。
正如@omermuhammed 提到的,您的逻辑基于 screen.width、CSS @media 查询和/或使用 WURFL 或 DeviceAtlas 的设备检测。
以下文章也可能有助于澄清问题:
一个像素不是一个像素不是一个像素 @ppk http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html
关于Android 浏览器报告错误的屏幕尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999000/