IE6下PNG透明的解决方法

web前端570913年前 (2011-03-22)

IE6下PNG图片的透明区域总是暗影,其实对于IE6来讲,PNG8位的图片不会出现这种情况,但和GIF的效果是一样的,而PNG32才能完美的显示透明,如何解决这个头疼的问题,请看我向大家一一说明。

方法一:
在网页的<head></head>之间加入如下代码:

<!--[if lte IE 6]>
<script type="text/javascript" src=https://www.toyean.com/upload/transparent.js></script>
<script>
  DD_belatedPNG.fix(".menu,.menu li a:hover,#nav UL LI.current A");
</script>
<![endif]-->

说明:DD_belatedPNG.fix(".menu,.menu li a:hover,#nav UL LI.current A"); 括号中的样式为带有PNG图片的样式,多个样式之间用逗号连接,最后一个样式的后面不要有逗号,否则失效。
 

方法二:
IE css滤镜中有一个使png背景透明的滤镜,JavaScript方法也是应用的这个滤镜实现png背景透明的。
写法:filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’https://www.toyean.com/upload/transparent.png’);
用法示例:
.png{background:url(’https://www.toyean.com/upload/transparent.png’);}
* html .png {_background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’https://www.toyean.com/upload/transparent.png’);}