IE6支持PNG透明(alpha通道)的4种方法

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

一、AlphaImageLoader 筛选器

  • 使用简介:在每个标签样式中插入 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’image.png’, sizingMethod=’scale’)
  • 官方原文:http://support.microsoft.com/kb/294714/zh-cn

    注意事项:

    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的效果, 背景重复坐标调用等暂时实现不了

    来源:http://blog.gulu77.com/?p=147

原文地址:https://www.cnblogs.com/see7di/p/2239842.html