支持状况:IE9+、Firefox 4+、Opera、Chrome 以及 Safari 5+url
在移动开发的时候,须要尺寸减半的须要。prototype
特别是在引入雪碧图的时候,之前的写法老是直接宽,高直接减半,没有出过问题code
.BZ{ background:url() no-repeated; background-size: width/2, height/2; }
今天有人问我,background-size直接设为50%不就好了,没有细想,直接说行。图片
实际看效果的时候,出现了问题,原来不能这么用。开发
本身慢慢研究,先总结下:get
先对照本身的例子说明下,加强本身的记忆:it
background-size via @CodePenio
直接缩减图片的宽高im
.bz{ background-image: url(); background-repeat: no-repeat; background-size: 320px,200px; }
.bz{ background-size: 320px,auto; // 高也会变半 background-size: auto, 200px; // 宽也会变半 }
.secmul{ width: 480px; height: 300px; // set imgs urls background-image: url(../../static/imgs/m1.jpg), url(../../static/imgs/m2.jpg), url(10.large.jpg); // set repeat pros background-repeat: no-repeat,no-repeat,no-repeat; // 设置不一样的位置,相对与最外层的画布大小 background-position: 0px 0px, right bottom, right top; background-color: #EEE; // 分别设置 不一样背景图片的大小 background-size: 200px 225px, 100px 100px, cover; }
background-size-prototype @CodePen总结
cover:背景图像缩放,保留图像原有的比例/长宽比,无论背景图像大于仍是小于背景区域,都会覆盖背景区域,图像的宽度或高度等于或超过背景区域,再次,根据背景图像的比例是否匹配的背景区域,背景图像的某些部分可能不在背景区域内。
contain:背景图像缩放,同时保留图像原有的比例/长宽比,不管是图像的宽度或高度超过背景区域,以尽量大的覆盖背景区域。所以,根据背景图像的比例是否匹配背景区域,可能会有一些背景图像覆盖不到背景地区。