小虾虎鱼

小虾虎鱼

使IE6中PNG透明的Microsoft.AlphaImageLoader滤镜

作者 禾惠 发表于 2012/07/25,最后修改于 2012/07/25

    虽然许多人都在努力消灭IE6,但用它的依然还是那么多。IE6确实是让人很痛苦。

    其中IE6不支持PNG图片透明就是一个让人头疼的问题,目前使用的解决方法就是使用Microsoft.AlphaImageLoader滤镜,用了许多次,但还是仍然用不好,所以记录下来,以便下次温习。

    先了解一下该滤镜的语法:

  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 地址指定背景图像。假如忽略此参数,滤镜将不会作用。


此处只想提一下src属性,图片的地址可以使用绝对地址也可以使用相对地址,绝对地址不用说都知道。下面就说一下相对地址。

相对地址是相对根目录,例如我的项目目录是www,www里面有images文件夹,images文件夹里面有自己写的样式文件(css文件)和图片,此时滤镜的写法应如下:

_background:none;
_filter:progid:
DXImageTransform.Microsoft.AlphaImageLoader(src='images/picture.png');


注意代码的相对路径,此处使用的是images/picture.png,是相对于www目录,而非我们平常写background那样直接picture.png(不知道大家有没有犯过这样的错误,至少我犯过)。