您的位置:首页 > 其它

IE6下png透明图片处理

2013-01-09 00:00 351 查看
这个问题,其实有一点容易让人忽略的是,IE6与生俱来就支持png8的索引色透明度,因此像一些没有半透明出现的图片,我们还是可以使用png图片而不需要进行额外的处理.

1.使用滤镜

background:url(a.png) repeat-x 0 0; _background:none; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="a.png" ,sizingMethod="crop");
上面的原理是其他调用PNG,IE6,则先设背景没有,然后调用滤镜使之显示PNG图片。

缺陷:IE6下背景无法平铺,这个问题很严重。同时在性能上也有小问题,页面中次数不是很多的时候该办法还是可行的。

AlphaImageLoader滤镜会导致该区域的链接和按钮无效,解决的办法是为链接或按钮添加:position: relative;这样条代码,使其相对浮动。

现在已经有一些利用此原理来批处理png图片的js出现了,也是个不错的选择.

2.调用iepngfix.htc

详细的使用方法可以百度查找,这里就不介绍了.

3.dd_belatedPNG.js

个人认为比较好的解决方案,它支持backgrond-position与background-repeat.这是其他js插件不具备的.同时DD_belatedPNG还支持a:hover属性,以及<img>.这个js插件使用了微软的VML语言进行绘制,而其他多数解决PNG问题的js插件用的是AlphaImageLoader滤镜.

使用方法:

<!--[if IE 6]>

<script src="DD_belatedPNG.js" mce_src="DD_belatedPNG.js"></script>
<script type="text/javascript"> DD_belatedPNG.fix('.png_bg'); </script>

<![endif]-->
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  IE6下 png透明图片