当前位置: css > 技术文档 >

Css Sprites应用

时间:2010-05-12 21:26来源:CSS中国 作者:秩名 点击:
说到Css Sprites,现在还没有一个很官方的译名,网上有很多叫法,为了好记些,这里就叫Css拼图或Css雪碧(比较潮的说)。Css Sprites是一个比较早的技术了,最初应用在导航条上比较多,比

说到Css Sprites,现在还没有一个很官方的译名,网上有很多叫法,为了好记些,这里就叫Css拼图或Css雪碧(比较潮的说)。Css Sprites是一个比较早的技术了,最初应用在导航条上比较多,比如要实现默认情况下和鼠标悬停在菜单上显示不同背景的效果,可以在a:link和a:hover定义不同的背景图片,为了使这种悬停效果显示更流畅,图片加载更快,将相应的图片整合在一张,这便是Css Sprites的一种应用。

  现在讲Css Sprites的优势,最重要应该是提升Web页面的性能,减轻服务器压力。这样的好处不仅使浏览者打开页面的速度更快、增加页面PV,更实实在在的是给服务商减少了成本,所以这一技术的广泛应用也跟各公司的领导认可有很大的关系。

  Css Sprites提升页面性能基本可以从三个方面体现:

  1、减少http请求数,这一点应该可以得到大家的认可;

  2、减少整个图片的大小,查看每张图片的属性,我们都可以看到有大小和占用空间两个不同的值,如果将多张图片合并到一张大图中,那大图的大小和占用空间是远远小于所有小图加起来的大小的,具体实例可查看崔凯的文章《CSS Sprites 图片整合技术》有详细介绍;

  3、减少css文件的体积,这一点我会在接下来详细介绍。

  Css Sprites虽然有以上的优点,但也不是彻底完美的,其劣势就是使项目维护成本的增加,这主要表现在三个方面:

  1、图片的拼合、摆放需要更多的时间。之前的单张小图不会存在这个问题,但现在如果要将多张小图拼合在一起,就需要考虑各图摆放的位置,每个小图的应用时候会对其周围的其他图片造成影响,这些都得花时间来考虑;

  2、读取图片位置的计算。在写css时,每应用到大图中的某一小图时,就得量取一次该图的纵横位置,而且必须要绝对精确,这是很费时的;

  3、后期图片的增加和删除。在项目后期维护中,有些页面可能会经常改动,那大图中相应的图片就得进行相应的调整,有时候可能还会遇到迁一发而动全身的麻烦。

  毋庸置疑,Css Sprites的应用优势还是很大的,为了性能,其他的也只能想办法解决。接下来就谈下我一般对Css Sprites的操作方法。

本文由CSS中国整理

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐内容
赞助商