CSS3基础教程:详解background-size

网络整理 - 07-27

CSS3基础教程,本节详解使用background-size可以控制背景图的尺寸。 

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简单的应用示例:

    1.背景图自适应容器大小

    2.设置背景图大小与平铺