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
注意事项:
- AlphaImageLoader难以实现插入图片
<img src=".png"/>透明
- AlphaImageLoader方法用于背景图片上,实现background-image的效果
- AlphaImageLoader IE8不支持
- 因为IE7支持AlphaImageLoader,避免冲突建议使用CSS hack区分开,只针对IE6使用
二、PNG Transparency in IE
- AlphaImageLoader难以实现插入图片
- 使用简介:相对来说比较简洁,使用一段包含滤镜的JavaScript 就可以模拟图片或背景 PNG alpha 透明度。
- 官方原文:http://codingforums.com/archive/index.php?t-80555.html
注意事项:
- 根目录的spacer.gif透明图片作为png图片的替换,写在JavaScript中的spacer.gif路径根据需要调整
- 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
注意事项:
- images目录的blank.gif透明图片作为png图片的替换,如目录有变请修改iepngfix.htc里blank.gif代码路径
- iepngfix.htc为IE6所用,本例子以"_"hack作为区分
- 应用有PNG透明图片的标签,均要读取behavior:url("iepngfix.htc")
- iepngfix方法在背景应用上只能做到background-image的效果, 背景重复坐标调用等暂时实现不了
- 透明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]-->
注意事项:
- png图片必需要以-trans.png结尾,才能使用透明。如:shadow.png换成shadow-trans.png
- PNGTransparncyinIE方法在背景应用上只能做到background-image的效果, 背景重复坐标调用等暂时实现不了
来源:http://blog.gulu77.com/?p=147