问题

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

我想做类似的事情:

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

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

  最佳答案

CSS2

如果您需要使图像更大,则必须在图像编辑器中编辑图像本身。

如果您使用img标签,您可以更改大小,但如果您需要图像作为其他内容的背景,则不会给您所需的结果(并且它不会像您似乎想要的那样重复自己)...

CSS3释放权力

这可以在CSS3中使用background-size执行.

所有现代浏览器都支持这一点,所以除非您需要支持旧浏览器,否则就是这样做的方法。
2001年12月31日终了的两年期收入和支出及准备金和基金结余变动报表 支持浏览器:
2001年12月31日终了的两年期收入和支出及准备金和基金结余变动报表 2001年12月31日终了的两年期收入和支出及准备金和基金结余变动报表 Mozilla Firefox 4.0+(Gecko 2.0+),Microsoft Internet Explorer 9.0+,Opera 10.0+,Safari 4.1+(webkit 532)和Chrome 3.0+。 2001年12月31日终了的两年期收入和支出及准备金和基金结余变动报表

 .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;
}
 

特别是,我喜欢covercontain值,这给了我们以前没有的新的控制力.

您还可以使用background-size: round结合重复具有意义:

 .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;
}
 

这将调整图像宽度,以适应背景定位区域的整个次数。


补充说明
2001年12月31日终了的两年期收入和支出及准备金和基金结余变动报表 如果您需要的大小是静态像素大小,则实际调整图像大小仍然很聪明.这既是为了提高调整大小的质量(考虑到您的图像软件比浏览器做得更好),也是为了在原始图像大于要显示的图像时保存带宽.

  相同标签的其他问题

csscss3