大背景图像的处理是我经常头疼的事,过去我总是使用Photoshop来缩放背景图像。CSS里有一个属性——background-size
,它使我们能够控制背景图像的尺寸。这不仅可以节省时间,也为我们开启了一扇创意的大门。
background-size
属性接受水平和垂直两个值,这些值可以使用像素或者百分比,然后再加上一个可选的关键字cover
或contain
。
.item__img {
background-size : 100% 50% contain; }
我们从一个元素开始,它的尺寸是310px
×200px
,我们给它添加一个同样尺寸的的背景图像。
.item__img {
width : 200px;
height : 310px;
background-image : url(magazine.jpg); }
当元素和背景图像尺寸相同时,这没什么问题,但是当客户想要改变这里的设计时,没关系,background-size
可以解决这个问题,我们也不必再使用软件重新处理图像。
像素单位 | 使用像素单位来定义背景图的尺寸 |
百分比 | 相对与元素尺寸的百分比来指定背景图的尺寸 |
cover |
背景图等比缩放直到覆盖满整个元素 |
contain |
背景图等比缩放后完全包含在元素中 |