如何缩放块元素以在不同的移动屏幕上显示相同的大小?

How do I scale a block element to appear the same size on different mobile screens?

我构建了一个 Google Cardboard 应用程序(或者至少是一个 Google 与 Cardboard 兼容的应用程序,有改进的余地)在 phones 5-6" 屏幕上运行良好( iOS 和 Android) 和一个 Google Cardboard 查看器,专为那些 5-6" 屏幕设计。但是,如果在更大的“平板手机”屏幕上查看该应用程序,视力会加倍并且该应用程序对这些设备变得无用。

由于该应用程序主要在 phone 的标准浏览器 Safari 和 Chrome 中运行,是否有办法缩小应用程序 canvas/block 元素以保持在 5- 6" 范围在更大的移动设备上?这是我要完成的粗略说明:

到目前为止,我的搜索让我得到了 this one 之类的答案,解释说这可能不是完全可能的?如果这是这种情况下的答案,我会使用它。我见过其他 Google Cardboard VR 应用程序在大屏幕上可以很好地缩小尺寸,但也许 JavaScript、HTML 和 CSS 不涉及。

我正在使用 PhoneGap 和 Adob​​e PhoneGap Build 创建此应用程序,因此我还可以访问 PhoneGap/Cordova 插件,如果有帮助的话。

也许有一个 API 允许通过浏览器中可用的 phone 信息或 Google Cardboard API 查找设备信息(目前还没有由于 PhoneGap 位于中间,因此使用一两个 Cardboard SDK)。

我很快会重新讨论这个话题,但期待您对如何回答这个问题有任何想法。

诀窍是可靠地获取屏幕 DPI。

在 Android 上,您可以使用 getRealMetrics returns 屏幕的 DPI。请注意,这有时有点偏离

在网络上,您可能需要查看 webvr-polyfill 的 DPI database,它显示了一些流行手机的 DPI 值。