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

我想做的事情是:

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

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


当前回答

只有css3支持,

background-size: 200px 50px;

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

其他回答

如果你的用户只使用Opera 9.5+, Safari 3+, Internet Explorer 9+和Firefox 3.6+,那么答案是肯定的。否则,没有。

background-size属性是css3的一部分,但它不能在大多数浏览器上工作。

为了您的目的,只需将实际图像放大。

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

background-repeat: no-repeat;

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

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

background-position: center top;

或者

background-position: 20px -14px;

CSS精灵经常使用负定位。

如果你想在相同的background属性中设置background-size,你可以使用use:

background:url(my-bg.png) no-repeat top center / 50px 50px;

我为按钮使用了背景图像,但即使我设置了宽度和高度,它也只显示了与文本相同大小的图像。相反,我用 字符(非换行空格)。基本上,我在需要的时候插入很多按钮,直到所有的按钮背景都出现。我可能有这样的代码:

样式表中:

#v2menu-home {
    background-image:url(../v2-siteimages/button.png);
    background-repeat:no-repeat;
}

在HTML文档中:

<div id="v2menu">
    <a id="v2menu-home" href="/index.php">home&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
</div><!-- v2menu -->

背景尺寸:200px 50px 将其改为100% 100%,它将根据内容标签的需要缩放,如ul li或div…试过