CSS3 background-size让背景图寸尺大小可控

来源:互联网 发布:ubuntu访问网络文件夹 编辑:程序博客网 时间:2024/04/30 09:05


background-size是CSS3提供的一个新特性,它可以让你随心所欲的控制背景图的尺寸大小。先简要的看看background-size的用法。我们知道在CSS2中,背景图的大小在样式中是不可控的,比如要想使得背景图填充满某个区域,你要么重新做帐大点的图,要么就只能让它以平铺的方式来填充。

  如今background-size让你既可以直接缩放背景图来填充满这个区域,也可以让你先给背景图设置大小,然后以设置好的尺寸去平铺满这个区域。

  一起来认识认识background-size吧。

  background-size的值类型:

  background-size需要1个或2个值,这些值既可以是像素px,也可以是百分比%或auto,还可以是特定值cover, contain。

  background-size的值定义:

  background-size可以设置2个值,1个为必填,1个为可选。
  其中第1个值用于指定背景图的width,第2个值用于指定背景图的height,如果只给background-size设置1个值,则第2个值默认为auto(cover和contain特定值除外)。

div{
   background-image:url(test.png);
   background-repeat:no-repeat;
   background-size:100px;
}

  等价于:

div{
   background-image:url(test.png);
   background-repeat:no-repeat;
   background-size:100px auto;
}

  查看具体DEMO: background-size的值定义。当你使用firebug抓取到那个实例节点时,你会发现第二个值被自动加上了并且值为auto。当然,你也可以手动将第2个值设置为auto,然后与该DEMO的实例对比,它们的效果将是相同的。

  background-size的特定值:


cover: 保持图像本身的宽高比例,将图片缩放到正好完全覆盖定义背景的区域;
contain: 保持图像本身的宽高比例,将图片缩放到宽度或高度正好适应定义背景的区域;

cover值:

div{
   background-image:url(test.png);
   background-repeat:no-repeat;
   background-size:cover;
}

  上例,背景图片将覆盖整个div区域。查看具体DEMO: background-size:cover。

contain值:

div{
   background-image:url(test.png);
   background-repeat:no-repeat;
   background-size:contain;
}

  上例,背景图将缩放到宽度或高度的任意一边与div区域适应。查看具体DEMO: background-size:contain。

   background-size简单的应用示例:

0 0