我的图像高度为924像素。已创建图像以在此高度处看起来合适。拉伸它是不可取的。
在此图像的上方,我需要覆盖可变数量的相同高度的div元素。在这个特定的例子中,我需要覆盖88.因此,数学很清楚:
924/88 = 10.5
每个div元素的高度必须为10.5像素才能正确覆盖我的图像。
从视觉上看,一切看起来都很棒!我有88个元素,它们的高度都是10.5像素。如果我将它们的高度设置为11px或10px,我会看到视觉差异。
然而,使用jQuery:
$('div').height(); // 10
$('div').css('height'); //10px
??咦?它们的高度明显为10.5像素,而不是10.如果我深入研究元素的样式属性 - 我看到10.5像素。
发生了什么事?我可以让jQuery与高度/宽度的双倍值一起玩吗?为什么这么反对?
答案 0 :(得分:2)
使用jquery.height()
实际上会将其转换为屏幕上占用的实际像素数。
您可能会发现,如果您遍历页面上的每个div,高度为10和11的混合,因为您无法仅在半个像素上渲染某些内容,实际渲染需要半个像素的内容决定是否需要一个像素。浏览器将在哪些div之间交替,不要尝试获得最佳结果。