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

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

1px = 0.02645833 cm; 

要么

 1 cm = 37.795276px; 

看到这些链接:

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

如何使用JavaScript检测屏幕DPI

像素到厘米?

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

 function px2cm(px) { var d = $("
").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; }

它在页面中插入一个1000厘米x 1000厘米的空

,然后以CSS像素读取其高度。 通过不使用魔术值(如上面建议的1px = 0.02645833 cm,仅在屏幕DPI为96时有效),它确保考虑当前屏幕DPI。

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

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

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

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