IE6中的PNG图片透明的一般解决办法是对于网页中的<img />用JS实现,PNG背景图片则是用滤镜filter实现。这两种方法都有明显的缺点,最为明显的就是PNG做背景图片是不能平铺(repeat)。
今天在twinhelix上发现了一个好的解决方法:iepngfix。iepngfix是利用IE5.5+中的behavior来实现在对HTML文档没有影响的情况下实现IE5.5和IE6对PNG图片的支持。
1 页面中的PNG图片自动透明
2 支持<img src="" />元素
3 支持PNG背景图片
4 支持CSS1中的背景平铺(repeat)和定位(12px 24px)
5 背景图片可以定义在页面内的内联样式中也可在外部样式表中
6 支持通过JS改变src或background
7 支持元素动态改变类名(className)
使用方法:按照下面的简单步骤应用到你的页面。
1 复制iepngfix.htc和blank.gif到你的网站文件夹中
2 将下面代码复制到你的HTML或CSS中:
<style type="text/css">
img, div { behavior:url(iepngfix.htc); }
</style>
CSS选择器(img、div)是指你要应用PNG图片的元素。
3 如果你的网站使用子文件夹,用记事本打开iepngfix.htc,修改blankImg变量的路径,例如:
IEPNGFix.blankImg="/images/blank.gif“;
4 如果你要支持CSS1中的background-repeat和background-position属性,需要在head中包含iepngfix_tilebg.js
<script type="text/javascript" src="iepngfix_tilebg.js"></script>
否则背景图片会显示但不会repeat或position
下载地址http://www.twinhelix.com/test/iepngfix.zip.