网页优化之加速图片显示(CSS Sprite)
作者:一叶千鸟 来源:蓝色理想 时间:2007-09-29 21:39:00
原文:http://blog.rexsong.com/?p=746#comments
加速的关键,不是降低重量,而是减少个数。如果重量在200K以内,只要网络不是特别慢,效率都差不多。但是,如果图片个数多一倍,效率将明显低一个档次。
传统切图讲究精细,图片规格越小越好,重量越小越好,其实规格大小无所谓,计算机统一都按Byte计算。客户端每显示一张图片都会向服务器发送请求,所以,图片越多请求次数越多,造成延迟的可能性也就越大。因为一张图片的传输时间,通常远小于请求等待的时间。
减少图片的三个技巧(CSS Sprite):
1. 图片限制(Image Slicing)
典型如文本编辑器,小图标特别多,打开时一张张跑出来,给用户的感觉很不好。如果能用一张图解决,则不会有这个问题,比如百度空间、163博客、Gmail都是这么做的。
Image Slicing’s Kiss of Death
http://www.alistapart.com/articles/sprites
2. 单图转滚(Single-image Rollovers)
触发切换图片的需求,传统方案得重新请求新图片,因为网络问题经常造成停留或等待。如果能把多种状态合并成一张图,就能完美解决,然后再使用背景图技术模拟动态效果。
ColorScheme Ratings
http://demo.rexsong.com/200608/colorscheme_ratings/
3. 延长背景(Extend Background Image)
如果图片的某边可以背景平铺无限延长,则不需要每个角、每条边单独搞出来,图片能少一个就少一个。其实,这个理论还可以扩展到四角容器里,好处是能大大简化HTML Structure。
Extend Background Image
http://demo.rexsong.com/200705/extend_background_image/
综合案例
Google Korea(1和2技巧)
http://demo.rexsong.com/200705/google_korea/
CSS Menus(2和3技巧)
http://demo.rexsong.com/200705/css_background_menus/
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
如何让Python在HTML中运行
![](https://img.aspxhome.com/file/2023/5/103465_0s.png)
python将字符串以utf-8格式保存在txt文件中的方法
![](https://img.aspxhome.com/file/2023/7/98327_0s.jpg)
prototype.js1.4版开发者手册
![](https://img.aspxhome.com/file/UploadPic/up/2007093019082399.jpg)
忆童年!用Python实现愤怒的小鸟游戏
![](https://img.aspxhome.com/file/2023/4/90714_0s.png)
GO语言映射(Map)用法分析
Go语言参数传递是传值还是传引用
![](https://img.aspxhome.com/file/2023/0/105120_0s.png)
BootStrap tooltip提示框使用小结
thinkphp6如何使用中间件记录行为日志
![](https://img.aspxhome.com/file/2023/1/55501_0s.png)
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
![](https://img.aspxhome.com/file/2023/5/118585_0s.png)
Python如何破解压缩包密码
![](https://img.aspxhome.com/file/2023/4/90864_0s.png)
Python读取hdf文件并转化为tiff格式输出
![](https://img.aspxhome.com/file/2023/2/77732_0s.png)
sql存储过程的使用和介绍
vue 自定义右键样式的实例代码
![](https://img.aspxhome.com/file/2023/7/139707_0s.png)
python实现mp3文件播放的具体实现代码
Bootstrap-table使用footerFormatter做统计列功能
![](https://img.aspxhome.com/file/2023/1/132831_0s.png)