`

【转】Java 高性能Web 开发(2)-图像合并实现 CSS Sprites

阅读更多

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编程的所有方面的资料

  • 大小: 10.6 KB
  • 大小: 34.1 KB
  • 大小: 3.1 KB
分享到:
评论
1 楼 lst923 2016-09-26  

相关推荐

    《Android高性能实践

    《Android高性能实践》是一份由正点闹钟技术总监冯斌撰写的文档,旨在分享他在Android应用开发中的优化经验和技巧。这份文档不仅适用于那些希望提升应用性能的开发者,也适合对Android平台感兴趣的技术人员阅读。...

    百度校园招聘笔试题-WEB前端工程师-电子科技大学.pdf

    例如,合并CSS和JS文件,使用CSS Sprites减少图像请求,利用`async`或`defer`属性控制脚本加载。 【Linux find命令】 在Linux中,查找当前目录下名称尾为`.C`的文件,命令是: ```bash find . -name "*.C" ``` 这将...

    JavaWeb开发实战6.1样式文件

    优化CSS可以提升网页加载速度,包括减少HTTP请求、合并CSS文件、使用 sprites 技术(将多个小图像合并到一张大图上)以及合理使用CSS3硬件加速等方法。 总结,JavaWeb开发中的样式文件是提升用户体验的关键,通过...

    切图+更新包

    在IT行业中,"切图"一词通常指的是网页设计或移动应用开发中的图像处理过程,设计师将设计稿分割成多个独立的图像文件,以便于前端开发者更方便地进行页面布局和样式实现。这个过程通常包括将大的设计图像切割成小的...

    jsp网页设计40种常见的网页技巧

    28. **CSS Sprites**:合并多个小图像到一张大图,减少HTTP请求,提升页面加载速度。 29. **异步上传文件**:结合Ajax和FormData实现文件无刷新上传。 30. **页面缓存**:利用HTTP缓存策略提高静态资源加载速度。 ...

Global site tag (gtag.js) - Google Analytics