大背景图像的处理是我经常头疼的事,过去我总是使用Photoshop来缩放背景图像。CSS里有一个属性——background-size,它使我们能够控制背景图像的尺寸。这不仅可以节省时间,也为我们开启了一扇创意的大门。

background-size属性接受水平和垂直两个值,这些值可以使用像素或者百分比,然后再加上一个可选的关键字covercontain

.item__img { 
background-size : 100% 50% contain; }

我们从一个元素开始,它的尺寸是310px×200px,我们给它添加一个同样尺寸的的背景图像。

.item__img { 
width : 200px; 
height : 310px; 
background-image : url(magazine.jpg); }

当元素和背景图像尺寸相同时,这没什么问题,但是当客户想要改变这里的设计时,没关系,background-size可以解决这个问题,我们也不必再使用软件重新处理图像。

像素单位 使用像素单位来定义背景图的尺寸
百分比 相对与元素尺寸的百分比来指定背景图的尺寸
cover 背景图等比缩放直到覆盖满整个元素
contain 背景图等比缩放后完全包含在元素中