首页 | 入门教程 | 中级教程 | 高级教程 | 实用技巧 | 滤镜专区 | 动画教程 | 美术基础 | 文字教程 | 网站设计 | 照片处理 | 鼠绘教程 | 非主流 | ps论坛

网站导航

教程搜索: 类 型:    资讯/作品/教程在线投稿 个人作品推荐 业务咨询/信息反馈 论坛在线提问 广告服务 认证考试培训资料试卷
 精品素材下载 草坐网PS草坐网教程每日更新,热心为广大PS爱好者服务欢迎光临

TOP

CSS Sprites
[ 录入者:xiaohan | 时间:2008-02-12 16:06:14 | 作者: | 来源:本站整理 | 浏览:16次 ]

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属性background-image组合background-repeat, background-position等来实现(题外话:为何我提现阶段,因为未来浏览器若支持content则又新增另外的实现方法)。我们的主角是,你一定猜到了,就是background-position。通过调整background-position的数值,背景图片就能以不同的面貌出现在你眼前。其实图片整体面貌没有变,由于图片位置的改变,你看到只该看到的而已。就好比手表上的日期,你今天看到是21,明天看到是22,是因为它的position往上跳了一格。所以你也大概了解到,CSS Sprites一般只能使用到固定大小的盒子(box)里,这样才能够遮挡住不应该看到的部分。

我们使用YUI的sprite.png举个例子,假如我们有这么一段代码,max代表最大化,min代表最小化,我们需要给它们配上相应的漂亮图片(这样我们的网站才能够吸引人,才可以卖钱,才可以到佛罗里达晒太阳:D):

<div class="max">最大化</div>
<div class="min">最小化</div>

这两个class都使用同一个图片:

.min, max {
  width:16px;
  height:16px;
  background-image:url(http://developer.yahoo.com/yui/build/assets/skins/sam/sprite.png);
  background-repeat: no-repeat; //我们并不想让它平铺
  text-indent:-999em; //隐藏文本的一种方法
}

效果如下:

最大化
0
】【打印繁体】【投稿】【收藏】 【推荐】【举报】 【关闭】 【返回顶部
[上一篇]div+css实现圆角边框 [下一篇]网页制作了解什么是CSS hack?

评论

称  呼:
内  容:

相关栏目

最新文章

热门文章

推荐文章

赞助连接