IE7支持png透明。 如果你想支持IE6,你可以使用浏览器大门(这是一个丑陋的黑客)。在你的CSS
使用选择哪个IE < 7不支持:
html>body #transparent_png {
background: url(gfx/transparent_png.png);
background-repeat: no-repeat;
}
#transparent_png {
/* additional properties here */
}
在html>体#transparent_png风格是由IE6忽略。然后,我们在独立的.css文件中使用丑陋的DXImageTransform-filter来透明地显示IE6中的png。 但如果IE版本低于7这个CSS应该只被加载:
HTML标题:
<!--[if lt IE 7]>
<style type="text/css" media="screen, projection">
@import "iefixes.css";
</style>
<![endif]-->
的iefixes。css包含这样的内容:
#transparent_png {
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gfx/transparent_png.png');
}
不幸的是,此过滤器不支持repeat-x或repeat-y。但是有了这道门槛,你可以为IE 6显示丑陋的gif阴影,而不是更好的png阴影:)。
不过,也有sizingMethod属性为DXImageTransform过滤器(见http://msdn.microsoft.com/en-us/library/ms532920%28VS.85%29.aspx),所以你可以缩放图片以适应其容器元素的大小:
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gfx/transparent_png.png',sizingMethod='scale');
哪个版本的IE? – 2010-07-28 21:05:20
嗯,我看到它可能在Javascript中,但这不是一个真正的选项,因为它可以关闭,我不真正了解我在这个上下文中看到的与css解决方案作为背景的div。 – SamRowley 2010-07-28 21:06:16
我正在测试版本6,这很可能是网站将被浏览。 – SamRowley 2010-07-28 21:07:32