1

我正在为 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" />

有谁知道为什么会发生这种情况以及如何解决它?

非常感谢。

4

1 回答 1

1

iPhone 的宽度为 320 CSS 像素,从 640 设备像素缩放而来。

如果您需要以与非视网膜版本不同的方式处理它,您可以按 device-pixel-ratio:2 进行过滤。

于 2012-11-27T10:01:13.400 回答