是否可以用CSS设置背景图像的大小?
我想做的事情是:
background: url('bg.gif') top repeat-y;
background-size: 490px;
但这样做似乎是完全错误的……
是否可以用CSS设置背景图像的大小?
我想做的事情是:
background: url('bg.gif') top repeat-y;
background-size: 490px;
但这样做似乎是完全错误的……
当前回答
你写过
background: url('bg.gif') top repeat-y;
background-size: 490px;
但是你只能看到背景,这取决于容器的大小。
如果你有一个带有background url和background-size的空容器,你将看不到bg.gif。
如果你将容器的大小设置为
background: url('bg.gif') top repeat-y;
background-size: 490px;
height: 490px;
width: 490px;
结合上面编写的代码,您将能够看到bg.gif文件。
其他回答
在CSS3中使用background-size可以做到这一点
.backgroungImage {
background: url('../imageS/background.jpg') no-repeat;
background-size: 32px 32px;
}
CSS2
如果需要放大图像,则必须在图像编辑器中编辑图像本身。
如果你使用img标签,你可以改变大小,但如果你需要图像作为其他内容的背景,这不会给你想要的结果(它不会像你想要的那样重复自己)…
CSS3释放力量
在CSS3中使用background-size可以做到这一点。
所有现代浏览器都支持这一点,所以除非您需要支持旧的浏览器,否则这就是实现它的方法。 支持的浏览器: Mozilla Firefox 4.0+ (Gecko 2.0+), Microsoft Internet Explorer 9.0+, Opera 10.0+, Safari 4.1+ (webkit 532)和Chrome 3.0+。
.stretch{
/* Will stretch to specified width/height */
background-size: 200px 150px;
}
.stretch-content{
/* Will stretch to width/height of element */
background-size: 100% 100%;
}
.resize-width{
/* width: 150px, height: auto to retain aspect ratio */
background-size: 150px Auto;
}
.resize-height{
/* height: 150px, width: auto to retain aspect ratio */
background-size: Auto 150px;
}
.resize-fill-and-clip{
/* Resize to fill and retain aspect ratio.
Will cause clipping if aspect ratio of box is different from image. */
background-size: cover;
}
.resize-best-fit{
/* Resize to best fit and retain aspect ratio.
Will cause gap if aspect ratio of box is different from image. */
background-size: contain;
}
我特别喜欢封面和包含的值,它给了我们新的控制能力,这是我们以前没有的。
轮
你也可以使用background-size: round,在repeat的组合中有一个含义:
.resize-best-fit-in-repeat{
/* Resize to best fit in a whole number of times in x-direction */
background-size: round auto; /* Height: auto is to keep aspect ratio */
background-repeat: repeat;
}
这将调整图像宽度,使其符合背景定位区域的整个数字。
额外的注意 如果你需要的大小是静态像素大小,它仍然是聪明的物理调整实际图像的大小。这既是为了提高调整大小的质量(考虑到您的图像软件比浏览器做得更好),也是为了在原始图像比要显示的图像大时节省带宽。
只需有嵌套的div跨浏览器兼容
<div>
<div style="background: url('bg.gif') top repeat-y;min-width:490px;">
Put content here
</div>
</div>
如果你想在相同的background属性中设置background-size,你可以使用use:
background:url(my-bg.png) no-repeat top center / 50px 50px;
不要太难,如果你不怕更深入一点的话:)
有一个被遗忘的论点:
background-size: contain;
这不会像封面那样拉伸你的背景图像。它会一直拉伸,直到较长的一边达到外容器的宽度或高度,从而保存图像。
编辑:还有-webkit-background-size和-moz-background-size。
IE9+、Firefox 4+、Opera、Chrome和Safari 5+支持background-size属性。
-资料来源:W3 Schools