使用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像素
现在只需以像素为单位获取高度,然后进行转换。