众所周知,减少网站加载时间的最有效的方式之一就是减少网站的HTTP请求数。实现这一目标的一个有效的方法就是通过CSS?Sprites——将多个图片整合到一个图片中,然后再用CSS来定位。
CSS?Sprites?的目的就是通过整合图片,减少对服务器的请求数量,从而加快页面加载速度。
?
实现方法:
首先将小图片整合到一张大的图片上,为了简单化,可以把多图放在同一列上,这样就可以把x轴定义为0。
然后根据具体图标在大图上的位置,给背景定位。background-position:-8px?-95px;
例子:
我们使用上图中的auther.gif作为背景时,如果代码如下:
<div?class="max">最大化</div>
这两个class都使用同一个图片:
.max?{
width:16px;
height:16px;
background-image:url(/images/css-sprites.gif);
background-repeat:?no-repeat;?//我们并不想让它平铺
text-indent:-999em;?//隐藏文本的一种方法
}
效果都只能得到上图中的tag_icon.gif中的图为背景,根本无法得到我们需要的背景。因为我们还没有指定background-position,默认为?0?0,可以看下上图,刚好是tag_icon.gif图。好了,我们要找到代表auther.gif的图在大图中的位置找出来。经过测量,按钮位于Y轴的350px处,按钮位于x轴50px处。想一想我们如何才能让它们能够显示出来呢?明显得到代码如下:
.max?{
background-position:?50?-350px;