【发布时间】:2016-03-09 12:52:49
【问题描述】:
我需要知道背景图像的实际大小(以像素为单位)。
<style>
body {
background-image: url(background.jpg);
background-size: contain;
}
</style>
当我看jQuery的时候,我试过了
var img = new Image;
img.src = $('body').css('background-image').replace(/url\(\"|\"\)$/ig, "");
var bgImgWidth = img.width;
var bgImgHeight = img.height;
但这给我带来的是真实图像的大小,而不是显示该图像时的大小:如果设备的宽度为 320px,bgImgWidth 仍然给我真实图像的 800px。
有人知道吗?
【问题讨论】:
-
然后尝试抓取元素(body)的大小?
-
问题是如果我需要知道图像大小,而不是 尺寸。例如,主体可以具有屏幕的大小,但图像可以具有其他大小。
-
因此,
background-size:contain属性保留了图像的比例。如果您将该比率输入到计算中,您也许可以算出这一点。获取body的宽度并根据比例计算高度
标签: jquery css background size