IE6与生俱来就支持png8的索引色透明度,但不支持png或8位以上的 alpha 透明度。而对于非动画的GIF建议你使用PNG8,因为体积会更小。

一、AlphaImageLoader 筛选器


注意事项:

  1. AlphaImageLoader难以实现插入图片<img src=".png"/>透明
  2. AlphaImageLoader方法用于背景图片上,实现background-image的效果
  3. AlphaImageLoader IE8不支持
  4. 因为IE7支持AlphaImageLoader,避免冲突建议使用CSS hack区分开,只针对IE6使

二、PNG Transparency in IE

  • 使用简介:相对来说比较简洁,使用一段包含滤镜的JavaScript 就可以模拟图片或背景 PNG alpha 透明度。
  • 官方原文:http://codingforums.com/archive/index.php?t-80555.html

注意事项:

  1. 根目录的spacer.gif透明图片作为png图片的替换,写在JavaScript中的spacer.gif路径根据需要调整
  2. PNGTransparncyinIE方法在背景应用上只能做到background-image的效果, 背景重复坐标调用等暂时实现不了

三、IE PNG Fix v1.0 / 2.0 Alpha 2

使用简介:页面标签使用behavior:url(”iepngfix.htc”);来调用外部包含js、css的iepngfix.htc文件來修正PNG alpha 透明度。

官方原文:http://www.twinhelix.com/css/iepngfix/   新版本 支持背景重复坐标调用

官方下载http://www.twinhelix.com/css/iepngfix/iepngfix.zip

注意事项:

  1. images目录的blank.gif透明图片作为png图片的替换,如目录有变请修改iepngfix.htc里blank.gif代码路径
  2. iepngfix.htc为IE6所用,本例子以"_"hack作为区分
  3. 应用有PNG透明图片的标签,均要读取behavior:url("iepngfix.htc")
  4. iepngfix方法在背景应用上只能做到background-image的效果, 背景重复坐标调用等暂时实现不了
  5. 透明png背景图片会以所在层的宽高度拉伸填充,border计算在层的宽高内(所以宽高是232px)

四、IE7/IE8 JavaScript library

  • 使用简介:ie7/ie8-js是一个解决IE与W3C标准的冲突的JS库,使微软的IE的行为像一个Web标准兼容的浏览器,支持更多的W3C标准。
  • 官方原文:http://code.google.com/p/ie7-js/ IE7.js及IE8.js这是一个JavaScript library可以你的IE浏览器符合标准,目前的版本是:version2.0 (beta);IE7.js 给ie5,6用 让ie5,6 可以使用css2.0的语言,跟ie7;的效果一样,主要是标準化 IE8.js 给ie5,6,7用 让ie5,6,7 模拟IE8,使用上部分新的语言如CSS3.0 使用方式,在页面加如下JS: IE7.js:
<!--[if lt IE 7]>
<script src="http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE7.js" type="text/javascript"></script>
<![endif]-->
  • IE8.js:
<!--[if lt IE 8]>
<script src="http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE8.js" type="text/javascript"></script>
<![endif]-->

注意事项:

  1. png图片必需要以-trans.png结尾,才能使用透明。如:shadow.png换成shadow-trans.png
  2. PNGTransparncyinIE方法在背景应用上只能做到background-image的效果, 背景重复坐标调用等暂时实现不了