导航

修复IE6 PNG不透明问题的最佳解决方案

Posted on 2011-12-02 18:20  小地瓜  阅读(566)  评论(0编辑  收藏  举报

IE6是不支持透明的PNG的,虽然每个web开发人员都恨死了IE6,但是在我们伟大的祖国,IE6的用户还占着极大的数量优势,所以我们不能随意的抛弃他们。

有个很稳妥的解决方案,在IE6下使用png-8或者gif替换,但是你懂png-8或者gif的透明有多丑的。其他的解决方案也有很多,比如用filter滤镜等等(解决方案1解决方案2),但是都会有或多或少的问题,比如尺寸问题、background-position和background-repeat属性支持的不完善问题等等。

今天给大家介绍的是我平时用的解决方案——DD_belatedPNG,这个是暂时来说最好的解决方案了,他使用微软的VML语言对PNG图片进行 重新绘制,以达到半透明的效果,所以对所有的样式支持的很好,你可以把png图片用于<IMG/>或者background-image

 

官方网站 点我下载

 

其使用方法很简单,在head标签中插入如下代码:

 

<!--[if IE 6]>
<script type="text/javascript" src="http://dillerdesign.com/experiment/DD_belatedPNG/DD_belatedPNG_0.0.8a-min.js"></script>
<script type="text/javascript"> 
    DD_belatedPNG.fix('.png');
    /* .png是所有应用了透明PNG的CSS选择器,你可以用你自己的选择器,比如 DD_belatedPNG.fix('.box a:hover'); 
        对于:focus和:hover伪类,可以用DD_belatedPNG.fix('.png, a.png:hover, .png:focus');
    */
</script> 
<![endif]
--> 

 

原文链接:http://www.feeldesignstudio.com/2011/12/02/ie6pngfix.html