如果你是一名Web Developer,而且还知道CSS Sprite这个词,请先去搜索一下(或者看看Realazy的这篇文章),也许你正在使用这个技术,但只是不知道它的名字罢了。 刚才在Google搜索的首页,发现在
那么来看看这个 就是它: 这就是Google搜索的CSS Sprite应用。图片文件中基本上包含了Google搜索结果页面用到的所有图形。这些图形被放在了同一个文件中(使得即使看起来是多个图片,但连接数仍然为了1),而且在搜索首页预先加载,这样在搜索结果页面中就会更快速地将它们显示出来。
CSS Sprites技术不新鲜,早在2005年 CSS Zengarden 的园主 Dave Shea就在ALA发表对该技术的详细阐述。原先只在CSS玩家之间作为一种制作方法流传,后来出来个14 Rules for Faster-Loading Web Sites, 技术人员之间竞相传阅,其中第一条规则Make Fewer HTTP Requests就提到CSS Sprites。于是这个小妖精就火了起来,甚至出现了在线生成工具,势不可挡也。近来国内很多blog都提到CSS Sprites,最著名的例子莫过于 http://www.google.co.kr/ 下方的那几个动画。最新发布的YUI中,也是使用到CSS Sprites,几乎都有的CSS装饰图都被一个40×2000的图包办。社交大站Facebook最近也使用了一个22×1150的图片承担了所有icon. 一时间,CSS Sprites无处不在。 原理我们知道,自CSS革命以降,HTML倾向于语义化,在一般情况下不再在标记里写装饰性的内容而是把呈现的任务交给了CSS。GUI是缤纷多彩的,少不了各种漂亮的图来装点。新时代的生产方式是,在HTML布满各种各样的钩子(hook),然后交由CSS来处理。在需要用到图片的时候,现阶段是通过CSS属性 我们使用YUI的sprite.png举个例子,假如我们有这么一段代码,
这两个
效果如下: 果如下: 最大化
最小化 我们看到一团灰,没错,因为我们还没有指定
耶,我们成功了: 最大化
最小化 |
利用CSS技巧减小HTTP请求 CSS Sprite background-image、background-repeat、background-position
2009-11-05 14:39