CSS Sprites 是一个吸引人的技术,它其实就是把网页中一些背景图片整合到一张图片文件中,再利用 CSS 的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position 可以用数字能精确的定位出背景图片的位置。利用 CSS Sprites 能很好地减少网页的 HTTP 请求,从而大大的提高了页面的性能,这也是 CSS Sprites 最大的优点,也是其被广泛传播和应用的主要原因。
CSS Sprites 能减少图片的字节,由于图像合并后基本信息不用重复,那么多张图片合并成 1 张图片的字节往往总是小于这些图片的字节总和。同时 CSS Sprites 解决了网页设计师在图片命名上的困扰,只需对一张集合的图片上命名就可以了,不需要对每一个小元素进行命名,从而提高了网页的制作效率。更换风格方便,只需要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就可以改变。维护起来更加方便。同时,由于将图片合并到一张图片,因此图片的请求数就被缩减到 1 个。其他的请求都可以用到本地缓存,不需要访问服务器。下图是一个合并以后的图片。它将很多小图标都拼到了一起。
图 4. 合并后的图片
这里介绍一个小工具 ---“CSS Sprites 样式生成工具 2.0”,可以从 这里下载。这是一个简单免费的小工具,用该工具打开上面的图片,选中图片中的某块。如下图的“绿色大拇指”部分,工具会计算出这个部分的长、宽、距离左上角的距离。勾选复制类名、复制宽、复制高,再点击“复制当前样式”按钮。这样生成的样式会被复制到剪切板上。
图 5. 小工具的使用
生成的 CSS 代码如清单 1 所示。
清单 1. 小工具生成的 CSS 代码
.div_6148{width:18px;height:20px;background-position:-17px -209px;}
将这段代码运用在网页上,它的代码如下清单所示。
清单 2. 测试 CSS Sprites 代码
<html> <head> <style> .div_6148 { width:18px; height:20px; background-image:url(css-sprites-source.gif); background-position:-17px -209px; } </style> </head> <body> <div class="div_6148"></div> </body> </html>
打开测试网页显示结果如下图所示。
图 6. 测试网页效果
可以看到,网页只显示工具选择的“绿色大拇指”部分,这样的代码可以运用在网页的多个部分,而图片只需要下载一次,这就是该技术的最大优势,减少了因为小图片引起的多个请求。
原创文章@java教程网 转载请标明出处
java教程网编辑发布:希望本系列的文章对你的个人成长和发展有帮助。
从java新手入门,开发工具 到 Java进阶,高级编程,java教程网几乎囊括了java编程的所有方面的资料
相关推荐
《Android高性能实践》是一份由正点闹钟技术总监冯斌撰写的文档,旨在分享他在Android应用开发中的优化经验和技巧。这份文档不仅适用于那些希望提升应用性能的开发者,也适合对Android平台感兴趣的技术人员阅读。...
例如,合并CSS和JS文件,使用CSS Sprites减少图像请求,利用`async`或`defer`属性控制脚本加载。 【Linux find命令】 在Linux中,查找当前目录下名称尾为`.C`的文件,命令是: ```bash find . -name "*.C" ``` 这将...
优化CSS可以提升网页加载速度,包括减少HTTP请求、合并CSS文件、使用 sprites 技术(将多个小图像合并到一张大图上)以及合理使用CSS3硬件加速等方法。 总结,JavaWeb开发中的样式文件是提升用户体验的关键,通过...
在IT行业中,"切图"一词通常指的是网页设计或移动应用开发中的图像处理过程,设计师将设计稿分割成多个独立的图像文件,以便于前端开发者更方便地进行页面布局和样式实现。这个过程通常包括将大的设计图像切割成小的...
28. **CSS Sprites**:合并多个小图像到一张大图,减少HTTP请求,提升页面加载速度。 29. **异步上传文件**:结合Ajax和FormData实现文件无刷新上传。 30. **页面缓存**:利用HTTP缓存策略提高静态资源加载速度。 ...