源于:http://www.jzxue.com/wangyesheji/css/201103/30-6942.html
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.设置背景图大小与平铺