我有一个SVG图像,无论屏幕分辨率,像素密度等如何,我都想在15×15cm上精确显示在屏幕上。

<img src="foo.svg" class="foo">


.foo {
    width: 15cm;
    height: 15cm;
}


这会导致图像以大约15×15cm的速度渲染,但是有很大的偏差,尤其是在平板电脑设备上(我的iPad在8.3×8.3cm渲染)。

我知道cm测量主要用于打印,但是有没有办法在屏幕上可靠地复制它们呢?

最佳答案

确实没有任何好的方法可以做到这一点。尽管设备有时确实知道其物理屏幕有多大,但它们不会将此信息传达给网页。

如果您考虑一下,大多数时候无论如何您都不想要确切的物理尺寸。某些设备(例如电话)靠近您的脸,因此其文字较小。另一方面,如果您的页面显示在电视屏幕上,则您希望文本更大,以便可以从更远的地方阅读。

您可能可以通过检查移动设备上的用户代理来接近,但是这种方法不适用于台式机浏览器,在桌面浏览器中,用户代理对硬件的了解很少。

10-07 14:07