jQuery-是否可以将背景图像调整为设定的大小?
我现在的处境是,我迫切需要将div的背景图像调整到一定的大小。有人知道jQuery是否可以做到这一点吗?我知道它需要的大小,它不必根据div的大小调整大小。35000张图像已被缩放到错误的大小,它需要上线,因此调整图像大小不是一个选项 任何建议,谢谢jQuery-是否可以将背景图像调整为设定的大小?,jquery,css,background-image,Jquery,Css,Background Image,我现在的处境是,我迫切需要将div的背景图像调整到一定的大小。有人知道jQuery是否可以做到这一点吗?我知道它需要的大小,它不必根据div的大小调整大小。35000张图像已被缩放到错误的大小,它需要上线,因此调整图像大小不是一个选项 任何建议,谢谢 编辑:我只是看看我们是否能够改变HTML,将背景图像从DIV中取出,并将其放在一个单独的绝对定位的DIV中,同时在其中添加一个IMG标记。。。然后可以使用CSS调整IMG标记的大小。您可以使用CSS3更改背景大小。实现此功能的浏览器有Opera、S
编辑:我只是看看我们是否能够改变HTML,将背景图像从DIV中取出,并将其放在一个单独的绝对定位的DIV中,同时在其中添加一个IMG标记。。。然后可以使用CSS调整IMG标记的大小。您可以使用CSS3更改背景大小。实现此功能的浏览器有Opera、Safari、Chrome、Firefox、Konqueror和IE9:
.myClass
{
-o-background-size: 200px 50px;
-webkit-background-size: 200px 50px;
-khtml-background-size: 200px 50px;
-moz-background-size: 200px 50px;
background-size: 200px 50px;
}
不确定背景大小的jQuery实现
在这种情况下,也许会对您有所帮助。背景图像只能通过CSS 3草稿中的功能进行缩放,而CSS 3草稿在浏览器中还没有广泛的支持 JavaScript可以解析CSS,找到背景图像,生成前景图像(
),将其样式设置为绝对位于内容后面,并对其进行缩放…但这需要大量的工作
最简单、最可靠的解决方案是使用ImageMagick(我可能会使用bash,但PHP或任何其他编程语言是可选的)快速编写脚本,以编程方式调整服务器上所有35000个图像的大小。(这也可能是最快的方法)。请阅读本文
如果背景用作背景图像,则不能将其设置为100%。这可以在上面找到1000次,所以我想在这里。因此,这将进入一些夜间批量调整他们所有 您还可以创建一些代码来放置
”;
});
使用css:
$('div.niceImage').each(function()
{
var imUrl = $(this).style('background-image'); // if not in style itself, we should ask it to the CSS rules. Don't know if jQuery does this for you.
$(this).prepend('<img style="position:absolute;width:100%;height:100%;" src="' + imUrl + '" />');
});
请注意,“400%400%”给出了宽度和高度。也可以使用“px”或“em”、组合、自动等。有关更多详细信息,请参阅CSS3规范:
使用jquery,您可以更改背景大小,如下所示:
#myDiv {
background: transparent url(../../Images/2.jpg);
background-size: 400% 400%;
}
和IE9,使用标准的
背景大小:200px 50px
@Kyle您使用“only”一词给读者的印象是,该功能只在少数浏览器中实现,而事实上,它只在一个浏览器中实现……而且背景大小@Šime Vidas:很有帮助。@Cordial:如果这个答案有帮助,您为什么不接受呢?你知道,一个“谢谢你”的评论是很好的,但是表达感谢的最常见的方式是投票和接受答案。我偶然发现了这个,但这不是我真正想要的——它不需要调整大小,只是调整大小而已!如果我们无法访问HTML,这肯定是一条路要走,非常感谢您的建议!是完整的图像还是使用CSS上的“背景”属性来绘制?(即背景重复)它是一个完整的图像,需要坐在DIV的中间。你可以在HTML标签中指定高度/宽度,将它的大小定为你的绝对大小。你能不能也设置一个photoshop操作,然后在这些35k图像上运行一个批处理?可能需要一天:)最初的一批是在photoshop中完成的,但速度是300dpi。我总是讨厌用HTML清晰地调整大小的图片,我想知道人们在想什么。。。现在我发现自己是同谋。我真的认为你最好的做法是运行另一批并正确调整图像大小。从长远来看,它会帮你省去头痛。
#myDiv {
background: transparent url(../../Images/2.jpg);
background-size: 400% 400%;
}
$('#myDiv').css({
'background-size': '200% 200%'
});