做前端都会很头痛ie6的兼容问题,透明图片的处理是其中一个。每次直接保存出来的png透明图片,到了ie6下就会出现灰色阴影,十分掉胃口。刚进公司的时候人家加我处理成png8透明可以兼容ie6,但是技术渣弄出来的png8会有锯齿,而且有时候还会变形,图片质量差。后面在网上搜索解决方法,发现也可以通过加js解决。多次试验以后总结出最好的解决方法有2个:
1)加js,网上相关的js也很多,大部分我都测试过,个人感觉这个——DD_belatedPNG_0.0.8a.js是效果最理想的,需要的朋友自己百度,引用也比较方便简单;
2)第二个就是用png8透明图片,毕竟为了一个图片效果而加载一个js,我觉得还是比较小题大作了。网上也有朋友说处理成gif,但是对比之下,还是png8图片的兼容效果最好,大小也还算可以。只是作为一个写前端的,图片处理能力绝对是渣渣,每次用ps弄出来的png8都会有点锯齿,结果都被设计师嫌弃。
最后,在多番搜索之下,终于找到获得无锯齿png8的方法。首先用ps在psd里面把你要的图片背景弄成透明,按想要的大小裁剪出来,保存psd。用FW打开psd,选择“文件”--“图像预览”--格式选“png8”--下面透明选“索引色透明”--保存(如下图,记得背景透明)。这样子得到的图片终于没有锯齿,高质量,兼容ie6透明问题,这样就不用加载一大段js了,如果需要用到CSS sprites拼合多个图标,也是一样的,在FW里面整理好,通过“图像预览”保存就OK了~
处理出来的图片大小比平时jpg也就大一点点,但是为了这么简单的问题我纠结了好长一段时间。分享出来,希望对和我一样菜鸟的朋友有帮助