透明PNG在IE6下的官方解决方案(仅支持img)
做Web开发的朋友一定都知道PNG是一个相当不错的图片格式,但是这个好的格式却在IE6时代造成了麻烦,IE6会使透明的PNG的透明部分出现#DBEAED的色彩。透明不了。使得在FF下开发表现很好的界面换成IE浏览就惨不忍睹,又逼着换成GIF,而GIF的假透明在变换背景时造成毛边现象。
刚去了www.gowindowslive.com去生成一个WLM的联系方式图标,结果发现的官方的解决方案。;)
做Web开发的朋友一定都知道PNG是一个相当不错的图片格式,但是这个好的格式却在IE6时代造成了麻烦,IE6会使透明的PNG的透明部分出现#DBEAED的色彩。透明不了。使得在FF下开发表现很好的界面换成IE浏览就惨不忍睹,又逼着换成GIF,而GIF的假透明在变换背景时造成毛边现象。
刚去了www.gowindowslive.com去生成一个WLM的联系方式图标,结果发现的官方的解决方案。;)
"咳! 哎!..... :-( "
你听见了么? 这些都是大家抱怨IE6下不能实现png图片漂亮的明效果的哀叫声,的确是无奈呀.....
不过现在幸运的是,我们能够让这一切的抱怨都停止.
网络上解决IE6下Png透明解决方案有很多,例如 IE PNG Fix from TwinHelix, Javascript IE PNG Fix, Transparent PNGs in Internet Explorer 6 from 24 ways.等等.
然而现在,我要和你分享的是 Unit PNG Fix.
因为它的确是太出众了.
1.非常小的javascript文件:1kb!
2.解决因为IE的滤镜属性所带来的影响.
3.无论是img元素或background-image属性,都能有效果.
4.在加载页面之前就能自动运行.或者就一丁点的元素.
5.允许自动高宽.
6.使用起来超级简单.
本来只是一张png透明图片,在IE下是很好解决的,我也尝试了很多种,包括js法,滤镜css法等等,感觉总体来说都不是很完美,而且如果同时使用Sprites方法,就不是那么简单容易的事情了。
最终发现了使用htc方法嵌到css文件中基本可以一次性解决大部分的透明问题。
这种方法已经有很多人介绍过了,但是因为页面是英文,很少有人翻译,也就很少人会去使用。
下面就详细介绍下这种方法:
此方法本身的demo地址:http://www.twinhelix.com/css/iepngfix/demo/
(说过了是全英文的,不要着急哦)