前几天刚做完一个小需求,但是在兼容ie方面用了比较久的时间,主要是切面那边用的背景图都是png格式的,而经过查找知道,ie6对png图片透明部分渲染效果是不透明的,我看到的是淡淡的绿色,简单的处理方式就是用滤镜:
先将元素背景用兼容的方式写成none:
_background:none;
_filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/W3CfunsLogo.png')";
对于一个背景图当然好用了,但是一个页面中有多个怎么办呢?
并且,如果是img标签的图片,该怎么处理png透明部分不透明问题?
项目中,我使用了一个插件:DD_belatedPNG_0.0.8a.js
它的使用:
<!--[if IE 6]>
<script type="text/javascript"src="http://icon.zol-img.com.cn/news/js/DD_belatedPNG_0.0.8a.js"></script>
<script type="text/javascript">
DD_belatedPNG.fix('.js-data-wrap,img');
DD_belatedPNG.fix('#prevBtn, background');
</script>
<![endif]-->
选择器,选的是img标签的父元素。
值得注意的是,background使用了滤镜处理png图片后,就好像设置不了透明度了。。