如何设置元素的物理尺寸(例如实际英寸)?

7

我的最终目标是在每个屏幕上显示相同大小的图像(是的,我确实需要这个东西)。

我开始阅读如何获取用户屏幕尺寸的信息这里-答案似乎是不可能的(除非调用一个API来尝试根据一些参数猜测实际设备)。

然后我想起CSS有物理尺寸单位来调整元素的大小,并决定在我的屏幕上进行测试。我设置了以下尺寸:

<div style = "background-color:black; height: 5in; width: 3in;"></div>

然后将一张物理的3"x 5"(7.6厘米x 12.7厘米)的卡片放在屏幕上。

大小明显不对。

有趣的是,以毫米为单位设置大小差距非常大 - 我原本期望得到与英寸相同的结果。

说了这么多,有没有办法满足我的需求呢?

1个回答

6
在CSS中,一英寸不等于一个物理英寸,而是等于96px。
这个规范的这个部分可能会对你有所帮助: 5.2. 绝对长度:单位为cm, mm, q, in, pt, pc, px

enter image description here

绝对长度单位相互固定,并与某些物理测量相关联。 如果锚定单位是像素单位,则物理单位可能与其物理测量不匹配。 或者,如果锚定单位是物理单位,则像素单位可能无法映射到设备像素的整数倍数。

1
谢谢,那很有帮助。 - VSO
5
@VSO是什么?如何操作?这并没有告诉我如何在每个设备上创建一个宽度为1英寸的元素!请翻译以上内容。 - Michael
1
@Michael 简而言之 - 获取物理尺寸是不可能的。有一些库可以检测您的屏幕/设备并尝试进行调整,如果您真的需要它,但它们都很麻烦。 - VSO
1
此外,如果您单击答案中提供的链接,将会有更详细的解释。这个答案旨在作为一个介绍。它是一般性的。我提供了链接参考,供那些想要更多细节的人使用。@Michael - Michael Benjamin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接