免责声明:我知道这些类型的问题已经被问死了,但我找不到任何对我的具体案例有帮助的问题。
我正在做一个无法使用响应式样式的移动网络应用程序(=以百分比或 ems 等定义大小);一切都需要像素完美。到目前为止,我已经完成了一个640 像素宽(Retina)的布局。目标平台是小型 iOS 设备(iPhone、iPod touch)、Android 手机和 Windows Phone。任何其他平台都是肉汁,但不是“官方”支持的。
当我通过开发人员工具伪造用户代理时,它在桌面 Chrome 上看起来很棒。但是,当我在实际的移动设备上测试它时,缩放在不同平台上的工作方式不同。Android 似乎会诱导水平滚动,而关于 Windows Phone 的说法越少越好。我目前没有 iPhone 来测试它。
我想要的是缩放 640 像素宽的布局以适应设备的宽度。用户不应该能够横向滚动,也不应该能够通过捏合来缩放。出于所有意图和目的,它应该看起来像一个原生应用程序。
根据在 SO 和其他网站上找到的答案,我尝试了不同的突变,但我目前使用的视口元标记看起来像这样;
<meta content='width=640, target-densityDpi=device-dpi, initial-scale=0.5, maximum-scale=0.5, user-scalable=0' name='viewport' />
<meta name="viewport" content="width=640, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
据我所知,Android 在规模数字方面存在某种问题。
我怎样才能达到我想要的?我已经在做用户代理嗅探(我知道很脏),所以我对移动操作系统特定的元标记很好。
大多数应用程序还没有完成,所以我也可以做移动操作系统特定的 CSS,我对此持开放态度;但是,为每个操作系统/分辨率维护单独的样式表似乎非常不切实际。