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

来源:互联网 发布:阿托伐他汀 知乎 编辑:程序博客网 时间:2024/04/30 11:23

想特别说明一下,IE6是支持PNG二进透明的(即要么全透明,要么不透明),但不支持png的 alpha 透明度(即半透明)。而我们一直要解决的是让IE6支持PNG8或PNG32的 alpha 透明度问题。下面我收集整理了4种方法,但都是以滤镜、Js、css 等作为基础模拟还原效果,虽然没有真正的解决alpha透明度问题,但也总算解决了燃眉之急。

 

  • IE6支持PNG二进透明:

    IE6是支持PNG二进透明的(即要么全透明,要么不透明),但不支持png的 alpha 透明度(即半透明)。而我们一直要解决的是让IE6支持PNG8或PNG32的 alpha 透明度问题。而对于非动画的GIF建议你使用PNG8,因为体积会更小

    测试实例:http://blog.gulu77.com/demo/200809/test_IE6png8/

  1. AlphaImageLoader 筛选器

    • 使用简介:在每个标签样式中插入 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’image.png’, sizingMethod=’scale’)
    • 官方原文:http://support.microsoft.com/kb/294714/zh-cn go
    • 测试实例:http://blog.gulu77.com/demo/200809/test_AlphaImageLoader/
  2. PNG Transparency in IE

    • 使用简介:相对来说比较简洁,使用一段包含滤镜的JavaScript 就可以模拟图片或背景 PNG alpha 透明度。
    • 官方原文:http://codingforums.com/archive/index.php?t-80555.html go
    • 测试实例:http://blog.gulu77.com/demo/200809/test_PNGTransparncyinIE/
  3. 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/ go
    • 测试实例:http://blog.gulu77.com/demo/200809/test_iepngfix/
  4. IE7/IE8 JavaScript library

    • 使用简介:ie7/ie8-js是一个解决IE与W3C标准的冲突的JS库,使微软的IE的行为像一个Web标准兼容的浏览器,支持更多的W3C标准。
    • 官方原文:http://code.google.com/p/ie7-js/ go
    • 测试实例:http://blog.gulu77.com/demo/200809/test_ie7-js/
  5. Image Optimization, Part 5: AlphaImageLoader

    • 使用简介:以XML标签作为额外的载体在IE中实现真彩色的PNG透明图片,它能解决: alpha 透明度、 性能和背景重复问题。
    • 官方原文:http://www.yuiblog.com/blog/2008/12/08/imageopt-5/ go
    • 测试实例1_优化前:http://gulu77.com/AlphaImageLoaderTest/untitled1.html
    • 测试实例2_优化后:http://gulu77.com/AlphaImageLoaderTest/untitled2.html

    全部实例打包下载:http://blog.gulu77.com/demo/200809/test_png.rar

转载:http://blog.gulu77.com/?p=147

原创粉丝点击