background-size:用于设置背景图片的大小,有2个可选值第一个用于指定背景图的width,第二个值用于指定图的height,如果只指定1个值则第二个为auto
以数值表示方式:
background-size: 300px 100px;
以百分比表示方式:
background-size: 40% 180%;
等比扩展图片来填满元素,即cover:
background-size: cover;
等比缩小图片来适应元素,即contain:
background-size: contain;
以图片自身大小来填充元素,即auto:
background-size: auto;
background-size的值类型:1个或2个值,这些值既可以是像素px,也可以是百分比%或auto,还可以是特定值cover, contain。
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。