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

我想做的事情是:

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

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


当前回答

你完全可以用CSS3:

body {
    background-image: url(images/bg-body.png); 
    background-size: 100%; /* size the background image at 100% like any responsive img tag */
    background-position: top center;
    background-repeat:no-repeat;
 }

这将把背景图像的大小调整为主体元素宽度的100%,然后根据较小的分辨率调整主体元素的大小,相应地调整背景的大小。

示例如下:http://www.sccc.premiumdw.com/examples/resize-background-images-with-css/

其他回答

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: 200px 50px;

但是我会编辑图像本身,这样用户就需要加载更少的内容,而且它可能比没有反锯齿的缩小图像看起来更好。

不可能的。背景总是尽可能的大,但是你可以用background-repeat来阻止它重复自己。

background-repeat: no-repeat;

其次,背景不会进入框的边距区域,所以如果你想让背景只在框的实际内容上,你可以使用边距而不是填充。

第三,你可以控制背景图像的起始位置。默认情况下,它是一个框的左上角,但你可以通过background-position来控制它,就像这样:

background-position: center top;

或者

background-position: 20px -14px;

CSS精灵经常使用负定位。

不要太难,如果你不怕更深入一点的话:)

有一个被遗忘的论点:

background-size: contain;

这不会像封面那样拉伸你的背景图像。它会一直拉伸,直到较长的一边达到外容器的宽度或高度,从而保存图像。

编辑:还有-webkit-background-size和-moz-background-size。

IE9+、Firefox 4+、Opera、Chrome和Safari 5+支持background-size属性。

-资料来源:W3 Schools

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

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