以毫米(或非像素单位)检索元素大小?

Mik*_*nen 2 html javascript css

我正在研究使用 Javascript 的浏览器 DOM 并构建一个依赖于毫米单位而不是 px 的“系统”。我知道如何以毫米为单位设置元素大小,这与

element.style.width = "32mm"; for example.
Run Code Online (Sandbox Code Playgroud)

但是,我无法以 px 以外的任何其他单位检索测量值。有没有办法做到这一点?

旁注:有没有办法为 css 定义全局默认单位系统?定义一次要使用的单位会很方便,然后只对元素使用普通值。

T.J*_*der 5

有没有办法为css定义全局默认单位系统?

不,没有。

但是,我无法以 px 以外的任何其他单位检索测量值。有没有办法做到这一点?

不,没有。

CSS“像素”实际上是一英寸的 1/961/96,0.26。因此,您可以通过以像素为单位的大小乘以 0.26 来获得以毫米为单位的大小。

但是请注意,这是像素的“参考”大小。从链接:

参考像素是像素密度为 96dpi 且与阅读器的距离为一臂长的设备上一个像素的视角。因此,对于 28 英寸的标称臂长,视角约为 0.0213 度。对于手臂长度的阅读,1px 因此对应于大约 0.26 毫米(1/96 英寸)。

显示器具有不同的密度,但通常将 CSS 像素映射为 1/96 英寸。

这个对原始问题的回答(我回答时没有意识到这是重复的;我应该有)有一个非常直接的方法:在 中定义一个元素mm,然后以像素为单位获取它的大小,你知道它的转换设备,在那个方向。