我有一个div,我在其中动态添加数据,我想得到特定div的高度,以厘米为单位。因为我需要根据高度控制可以在div中显示的数据量。
答案 0 :(得分:14)
1px = 0.02645833 cm;
或
1 cm = 37.795276px;
请参阅以下链接:
How to access screen display’s DPI settings via javascript?
答案 1 :(得分:13)
这是一个将CSS像素转换为厘米的小函数:
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;
}
它在页面中插入一个1000厘米x 1000厘米的空<div>
,然后以CSS像素读取其高度。
通过不使用魔术值(如上面建议的1px = 0.02645833 cm,仅在屏幕DPI为96时有效),它确保考虑当前屏幕DPI。
由于屏幕的DPI永远不会改变,您应该缓存px_per_cm
以避免在您调用此函数时出现任何性能损失
答案 2 :(得分:6)
首先,您需要确定要查看的DPI(每英寸点数)。在屏幕上,这通常在72到100之间。以72为例。
每英寸72点(像素)。
这是每2.54厘米72像素
所以1厘米是28.35像素
现在只需以像素为单位获取高度,然后进行转换。