解决IE6下png图片透明问题

方法一:

主要代码CSS:

 

filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=bEnabled , sizingMethod=sSize , src=sURL )

属性:
enabled : 可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false
true : 默认值。滤镜激活。
false : 滤镜被禁止。

sizingMethod : 可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。
crop : 剪切图片以适应对象尺寸。
image : 默认值。增大或减小对象的尺寸边界以适应图片的尺寸。
scale : 缩放图片以适应对象的尺寸边界。

src : 必选项。字符串(String)。使用绝对或相对 url 地址指定背景图像。假如忽略此参数,滤镜将不会作用。

解决方法:
html>body #png {background: url(images/bg.png) repeat;}

html #png {
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="images/bg.png");
background:none;
}

 

注:这里 background 必须为none。因为虽然设置了滤镜引入图片,但是background也同样加载了此图片,又因为background的图层比滤镜设置的高,所以就会没有效果。

 

方法二:

<!--[if IE 6]>
<script type="text/javascript" src="images/DD_belatedPNG.js" ></script>
<script type="text/javascript">
DD_belatedPNG.fix('.btn1,.btn2,.btn3,.btn4,.btn5,.btn6,.png');
</script>
<![endif]-->

DD_belatedPNG.fix('.btn1,.btn2,.btn3,.btn4,.btn5,.btn6,.png');如果是设置背景为PNG,就要指定每个class;如果是插入的图片<img src="XXX.png" />,则只需写.png即可

下载:DD_belatedPNG.js

posted @ 2012-11-05 10:13  Liu66~  阅读(168)  评论(0编辑  收藏  举报