方法一:PNG8格式
其实IE6与生俱来就支持png8的索引色透明度,但不支持png或8位以上的 alpha 透明度。而对于非动画的GIF建议你使用PNG8,因为体积会更小。对于并不复杂的png透明图其实可以存储为png8,这样可以有效避免ie6不能显示 png24的问题。
photoshop中:
png24转换成png8的具体 方法为:文件-》存储为web和设备所用格式-》在“预设”里,选择“PNG-8”和“”透明度,保存 即可。
方法二:IE PNG Fix v1.0 / 2.0 Alpha 2
使用简介:页面标签使用behavior:url(”iepngfix.htc”);来调 用外部包含js、css的iepngfix.htc文件來 修正PNG alpha 透明度。
iepngfix.htc的使用方法:
- 为IE6所用,以"_"hack作为区分
- iepngfix方法在背景应用上只能做到background-image的效果, 背景重复坐标调用等暂时实现不了
- 透明png背景图片会以所在层的宽高度拉伸填充,border计算在层的宽高内
iepngfix.htc下载地 址:
http://www.caihong.cc/iepngfix.htc
方法三: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使用
官方原文:http://support.microsoft.com/kb /294714/zh-cn
方法四:PNG Transparency in IE
使用简介:相对来说比较简洁,使用一段包含滤镜的JavaScript 就可以模拟图片或背景 PNG alpha 透明度。
官方原文:http://codingforums.com/archive/index.php?t-80555.html
注意事项:
- PNGTransparncyinIE方法在背景应用上只能做到background-image的效果, 背景重复坐标调用等暂时实现不了
方法五: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]-->
注意事项:
- png
- PNGTransparncyinIE方法在背景应用上只能做到background-image的效果, 背景重复坐标调用等暂时实现不了