是否可以用CSS设置背景图像的大小?

我想做的事情是:

background: url('bg.gif') top repeat-y;
background-size: 490px;

但这样做似乎是完全错误的……


当前回答

为了支持@tetra给出的答案,我想指出,如果图像是SVG,那么调整实际图像的大小是不必要的。

由于SVG文件只是XML,您可以指定希望它在XML中显示的大小。

但是,如果您在不同的地方使用相同的SVG图像,并且需要使用不同的大小,那么使用background-size非常有用。SVG文件本来就比栅格图像小,用CSS调整大小非常有用,而且我知道不会有任何性能损失,当然质量也几乎没有损失。

这里有一个简单的例子:

<div class="hasBackgroundImage">content</div>

.hasBackgroundImage
{
    background: transparent url('/image/background.svg') no-repeat 10px 5px;
    background-size: 1.4em;
}

(注:这适用于我在OS X 10.7与Firefox 8, Safari 5.1和Chrome 16.0.912.63)

其他回答

put the below code in the body of you css file

background-image: URL('../images/wave-green-plain-colour.jpg') ;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
width:100px;

在CSS3中使用background-size可以做到这一点

.backgroungImage {
    background: url('../imageS/background.jpg') no-repeat;
    background-size: 32px 32px;
}

background-size在Chrome 4.1中工作,但到目前为止,我不能使它在Firefox 3.6中工作。

您无法使用当前版本的CSS(2.1)设置背景图像的大小。

您只能设置:位置,固定,图像-url,重复模式和颜色。

你可以使用两个<div>元素:

一个是容器(它是您最初想要的容器) 背景图像出现在)。 第二个包含在。您将其大小设置为 背景图像(或您希望显示的大小)。

然后将包含的div设置为绝对位置。这样它就不会干扰包含div中的项目的正常流动。

它使你能够有效地使用精灵图像。