这种data: URI的格式能把base64(或其他数据)可以内嵌在image标签的属性当中(或者CSS中或JavaScript中),通过对图片进行base64 编码,可以实现将图片直接嵌入代码中的目的,如此一来,可以减少HTTP请求,这对于提升web性能很有好处。对于较小的图片,采用这样处理是非常实用的,但是IE6、7不能支持这种方法,因此可以在IE6、7中采用传统的方法,而在其他浏览器中使用这样的方法来进行全面的兼容。 这种做法有利有弊,好处是可以减少HTTP请求,不好的地方是图像的大小会增加1/3。因此,这种内嵌的方法适合对小的图形、小图标等进行处理,从而减少浏览器打开的连接数,但对大的照片、图片等则不应该使用base64编码了,以免影响图像下载的时间。 但这种图像的处理也需要另外的软件,所以不熟悉的情况下操作起来也有一定的困难,这里有一个在线版的转换工具,有兴趣的大家可以试试,尝尝鲜:点击打开 当然这些都是更深一点的应用了,我也在学习当中,无法再作更深入的论述了,大家可以自行进行扩展。当然,我也乐于分享你们的观点。 扩展阅读:《Data URI scheme》 更多的图片的格式可以查看一篇老外的文章,也有人进行了介绍: 《Tips for choosing a cache image format 》 《The difference between PNG24 and PNG32》 外文不太好的也可以看这里,有人进行了相应的概括: 淘宝UED: 《图片格式与设计那点事儿》 尹延超:《 PNG详解》 6.2如何输出合适的图片 说了这么多的图片格式相关的知识,现在要实际操作来说明一下我们怎样输出一个适合我们的图片了。 其实淘宝UED: 《图片格式与设计那点事儿》这里也说明得够详细了,这里就不重复里面的一些方法了。我们最常用的图像处理软件莫过于Firework和 Photoshop,所以我们也以这两个软件就重点。虽然两个软件现在是同出一家,同属一个Adobe Master套装,但两者的算法还是有一定的差别的。所以在做图片处理的时候有时候可以在这两个软件中分别进行输出对比来决定最后图片的使用。