4

有没有办法告诉/设置一个元素有多少毫米,它适用于各种设备?

例如,我想创建一个 100 x 100 毫米的白色窗口,中间有一个黑色 10 x 10 毫米的正方形,它在桌面、平板电脑、打印......

我不介意使用最新的浏览器,但它必须使用 HTML/JS/CSS。

PS:相关:有没有办法告诉,屏幕有多少毫米?

编辑

换句话说,问题在于使用 pt、mm、cm 等 CSS 单位不起作用,因为浏览器供应商决定将 96 DPI 硬编码到代理中,根据这里。有什么办法可以在网络上获得真实的、物理的、维度的吗?

4

2 回答 2

3

并不真地。

从理论上讲,您可以使用单位设置长度mm,但这需要浏览器准确处理显示的 DPI……而且浏览器倾向于假设一个固定值而不是获取真实值。

如果可行,您可以通过创建已知物理尺寸的屏幕外元素、使用 JavaScript 读取像素尺寸并使用该比率将任何其他元素的像素尺寸转换为 mm 来获得该单位的宽度。

在实践中,如果您需要精确的测量,您几乎只能在屏幕上绘制一些东西并要求用户用尺子测量它以获得您的比率。

或者,如果您可以识别正在使用的特定设备(用户代理字符串可能会告诉您某些设备)并且您保留了这些设备物理尺寸的数据库(因此这仅限于手机和平板电脑的子集并赢得如果它们连接到外部显示器则不起作用)您可以使用它来确定尺寸。

于 2013-08-28T09:28:44.840 回答
0

cm 和 mm 可以用作 CSS 单位,更多信息请查看 http://www.w3.org/TR/css3-values/#lengths

16px == 0.17in == 12pt == 1pc == 4.2mm == 0.42cm

我不确定它们在高屏幕密度设备中的表现如何。

于 2013-08-28T09:32:46.233 回答