使用jquery获取div的高度(以厘米为单位)?

Ros*_*osh 12 javascript jquery

我有一个div,我在其中动态添加数据,我想得到特定div的高度,以厘米为单位.因为我需要根据高度控制可以在div中显示的数据量.

the*_*dox 16

1px = 0.02645833 cm;
Run Code Online (Sandbox Code Playgroud)

要么

1 cm = 37.795276px;
Run Code Online (Sandbox Code Playgroud)

看到这些链接:

如何通过javascript访问屏幕显示的DPI设置?

如何使用JavaScript检测屏幕DPI

像素到厘米?

  • 所有屏幕都一样吗?我怀疑1厘米在不同的屏幕中是否包含相同数量的像素. (2认同)

Jon*_*ier 13

这是一个将CSS像素转换为厘米的小javascript函数:

function px2cm(px) {
  var d = $("<div/>").css({ position: 'absolute', top : '-1000cm', left : '-1000cm', height : '1000cm', width : '1000cm' }).appendTo('body');
  var px_per_cm = d.height() / 1000;
  d.remove();
  return px / px_per_cm;
}
Run Code Online (Sandbox Code Playgroud)

<div>在页面中插入一个1000cm x 1000cm的空,然后以CSS像素读取其高度.通过不使用魔术值(如上面建议的1px = 0.02645833厘米,仅在屏幕DPI为96时有效),它确保考虑当前屏幕DPI.

由于屏幕的DPI永远不会改变,因此您应该缓存px_per_cm以避免在调用此函数时出现任何性能损失


Jam*_*iec 6

首先,您需要确定您正在查看的DPI(每英寸点数).在屏幕上,这通常在72到100之间.以72为例.

每英寸72点(像素).
这是每
2.54厘米72像素所以1厘米是28.35像素

现在只需以像素为单位获取高度,然后进行转换.