Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-是否可以将背景图像调整为设定的大小?_Jquery_Css_Background Image - Fatal编程技术网

jQuery-是否可以将背景图像调整为设定的大小?

jQuery-是否可以将背景图像调整为设定的大小?,jquery,css,background-image,Jquery,Css,Background Image,我现在的处境是,我迫切需要将div的背景图像调整到一定的大小。有人知道jQuery是否可以做到这一点吗?我知道它需要的大小,它不必根据div的大小调整大小。35000张图像已被缩放到错误的大小,它需要上线,因此调整图像大小不是一个选项 任何建议,谢谢 编辑:我只是看看我们是否能够改变HTML,将背景图像从DIV中取出,并将其放在一个单独的绝对定位的DIV中,同时在其中添加一个IMG标记。。。然后可以使用CSS调整IMG标记的大小。您可以使用CSS3更改背景大小。实现此功能的浏览器有Opera、S

我现在的处境是,我迫切需要将div的背景图像调整到一定的大小。有人知道jQuery是否可以做到这一点吗?我知道它需要的大小,它不必根据div的大小调整大小。35000张图像已被缩放到错误的大小,它需要上线,因此调整图像大小不是一个选项

任何建议,谢谢


编辑:我只是看看我们是否能够改变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%' 
    });