我正在为 iPhone、iPad、Android 和 BlackBerry 构建应用程序。该应用程序只需要在纵向模式下工作(即,如果您将移动设备横向旋转,则不会发生任何事情)。该应用程序必须根据分辨率以不同方式显示:
- 如果屏幕宽度 <= 240px:微模式(主要针对 BlackBerry)
- 否则,如果屏幕宽度 <= 480px:小模式(适用于普通 res 移动设备)
- 否则,如果屏幕宽度 <= 767px:中等模式(适用于 iPhone 4+ 等高分辨率移动设备)
- 否则(屏幕宽度 >= 768px):大模式(适用于平板电脑)
尝试在浏览器上调整窗口大小时一切正常,所有元素都会根据视口大小正确调整大小和重新定位。我面临的唯一问题是 iPhone 4(iPhone 4S 和 iPhone 5 上可能会发生同样的事情)。事实上,尽管它的屏幕宽度是 640 像素,但它使用的是小模式而不是中模式。我通过以下方式指定了视口元数据:
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, target-densitydpi=device-dpi" />
有谁知道为什么会发生这种情况以及如何解决它?
非常感谢。