最近项目中的一个页面用到的图片要比原图小很多,但是这个图片是以一个标记的背景图显示的,不能像在中那样直接设置width、height的值来决定图片显示的大小,最后从网上查到可以使用background-size属性来设置背景的大小的,经实践可行。
以下是我在标签中的属性用法: display: block;
width: 28px;
height: 28px;
background: url(./images/icon.png) no-repeat;
line-height: 2000px;
overflow: hidden;
background-size: 144px 56px;
以下内容摘自网络,有更加详尽的用法,可以作为参考:
如何用css背景图片拉伸 以及100% 满屏显示呢?这个问题听起来似乎很简单。但是很遗憾的告诉大家。不是我们想的那么简单。
比如一个容器(body,div,span)中设定一个背景。这个背景的长宽值在css2.1之前是不能被修改的。
所以实际的结果是只能重复显示,所以出现了repeat,repeat-x,repeat-y,no-repeat这些属性。就是用来控制背景图片的显示的。所以一般用作背景图片的有2类:
1.是一整张大图,尺寸和区域大小刚好吻合
2.一个很小的条状图,通过repeat后,形成一个很规则的大图背景。
但是css3出现以后,这个情况被改善了。background-size 属性可以让我们之前的希望成真。
而且这个属性在firefox,chrome,以及ie9上都可以使用。
具体使用方法如下:
背景图尺寸(数值表示方式):
代码如下:
#background-size{ background-size:200px 100px; }
背景图尺寸(百分比表示方式):
代码如下:
#background-size2{ background-size:30% 60%; }
背景图尺寸(等比扩展图片来填满元素,即cover值):
代码如下:
#background-size3{ background-size:cover; }
背景图尺寸(等比缩小图片来适应元素的尺寸,即contain值):
代码如下:
#background-size4{ background-size:contain; }
背景图尺寸(以图片自身大小来填充元素,即auto值):
代码如下:
#background-size5{ background-size:auto; }