IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

CSS Sprites图片切割术与图片优化

Gulu77 2009-11-08 23:03:33 累计浏览 3,831 次
本机暂存

    关于CSS Sprites技术的优化我们能做到多少,能减多少的请求数量。这并且不是单方面能做到的,一切取决于XHTML、CSS、CSS Sprites图片之间的配合。现时为止没有绝对优化的做法,这也是我在项目中经常衡量CSS Sprites图片与XHTML关系,如:《一张背景实现自适应九宫格》,以下总结了图片切割术与图象优化的一些方法。

图片优化

对于非动画的GIF更建议使用PNG8因为它同样能做到一样的效果,而且能为你节省10%-30%的文件体积。Photoshop相比起Fireworks,导出同等质量的PNG图片,体积会稍大。而Fireworks虽然做了相应压缩优化,但还没达到最优秀的压缩。我所知的设计软件,对于PNG图片的处理都没做到最优秀的压缩,图片体积还有一定的压缩空间。可以尝试使用下面介绍的”图像优化工具” 做无失真的二次压缩。图片体积及尺寸方面,建议体积保持在100K以内(较为符合国情最佳请求SIZE),size为800px(最佳尺寸)。(从某权威人事中得知,具体无从考证)

CSS Sprites图片切割术

CSS Sprites图片顺序合图片由上至下、左至右添加。而background-position一般采用数字组合形式定位,这样能减少维护带来的不必要麻烦。不建议CSS Sprites图片中保持一定的间距,因为文件size增大而增加文件体积。CSS Sprites图片中把颜色较近或相同的组合在一起可以降低颜色数,因为少色数的图片文件体积会相对的小。size相同的CSS Sprites图片中留有较大空隙,某程度上多数情况会增大了体积,所以CSS Sprites的图片不要有空隙。Demo在size相同的CSS Sprites图片中,垂直排列的图片会比水平排列的文件体积要大。Demo在CSS Sprites图片中,水平排列的图片会比垂直排列的文件体积要大。Demo图片对等合并:应用CSS Sprites图片时,适当地把对等相同的图像合并,以节省空间及减少体积。Demo区分开不需要合并的图像:如当前用户确定只显示一种状态或一个级别时,不必要把其他的级别或状态的图片合并。黄金切割位:在CSS Sprites图片的最右或左边为最灵活动位置最适宜摆放文本前的icon,因此不会受到其它CSS Sprites图片干预,也不需要预留一定的行宽。

相关的图像优化工具

    网上流传的优化工具繁多常见的如:

    ImageMagickPNGGauntletpngcrushpngrewriteOptipngPNGOut等。

    我喜欢使用PNGOut,安装使用也非常简单,有30天的免费试用版,下载地址www.ardfry.com/pngoutwin/

    PNGOUTWin:是PNG优化器,创造更小的图象文件和加速您的网站,更好地减少带宽的流量及费用的开销。您能转换和压缩TIFF、GIF、BMP和其他格式的PNG,或者优化您现有的PNG文件。

以下是安装及使用的一些载图

    原图已失效原图已失效原图已失效

    以上内容为个人总结,不排除有错漏

同分类推荐文章

  1. translateZ() (2026-06-25 21:18:56)
  2. translateY() (2026-06-25 21:17:56)
  3. translateX() (2026-06-25 21:16:01)

查看更多 前端 文章 →

建议继续学习

  1. SmartSprites - 命令行形式的CSS Sprites生成器 (累计阅读 123,895)
  2. 如何成为Python高手 (累计阅读 54,992)
  3. 50个活力和动感的网页设计-颜色的灵感 (累计阅读 34,442)
  4. Linux 性能监控、测试、优化工具 (累计阅读 13,013)
  5. 视觉设计前瞻实用性研究(PNVD) 第二期 (累计阅读 12,977)
  6. include(“./file.php”)和include(“file.php”)区别 (累计阅读 12,790)
  7. Rolling cURL: PHP并发最佳实践 (累计阅读 11,488)
  8. 各公司对前端开发的职位描述 (累计阅读 10,405)
  9. iframe大小自适应 (累计阅读 10,057)
  10. 关于使用STL的红黑树map还是hashmap的问题 (累计阅读 8,876)