是否可以用CSS设置背景图像的大小?
我想做的事情是:
background: url('bg.gif') top repeat-y;
background-size: 490px;
但这样做似乎是完全错误的……
是否可以用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)
其他回答
为了支持@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)
我为按钮使用了背景图像,但即使我设置了宽度和高度,它也只显示了与文本相同大小的图像。相反,我用 字符(非换行空格)。基本上,我在需要的时候插入很多按钮,直到所有的按钮背景都出现。我可能有这样的代码:
样式表中:
#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 </a>
</div><!-- v2menu -->
在CSS3中使用background-size可以做到这一点
.backgroungImage {
background: url('../imageS/background.jpg') no-repeat;
background-size: 32px 32px;
}
您无法使用当前版本的CSS(2.1)设置背景图像的大小。
您只能设置:位置,固定,图像-url,重复模式和颜色。
如果你想在相同的background属性中设置background-size,你可以使用use:
background:url(my-bg.png) no-repeat top center / 50px 50px;