有没有简单的方法来修复IE6 PNG透明度与javascript和jquery使用任何插件或太复杂的东西?
答案 0 :(得分:4)
您可以使用这个小插件为您完成:
http://jquery.andreaseberhard.de/pngFix/
然而,主要的解决方案是围绕IE渲染引擎中包含的过滤器构建。这些可以通过css或javascript添加。
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="img.png");
答案 1 :(得分:2)
答案 2 :(得分:1)
我已成功使用this(IEPng Fix)。这是一种自定义行为,您可以通过执行此类操作来使用...
<style type="text/css">
img, div { behavior: url(iepngfix.htc) }
</style>
在线教程是here。
答案 3 :(得分:0)
有许多不同的方法来解决这个问题,但在IE6中解决透明PNG问题的最好和最轻的方法之一是使用DD_belatedPNG。这个轻量级但功能强大的Javascript库为IE6增加了透明PNG图像支持,而仅为5.5KB ,因此它不会对您网站的加载时间产生太大影响。它设置简单,它将修复CSS背景图像以及<IMG/>
元素。
在此处查看更多详情http://www.cre8ivecommando.com/ie6-png-fix-transparent-png-image-support-for-ie6-174/
答案 4 :(得分:-1)
jQuery pngfix插件修复了所有 PNG,这是一个复杂的命题,可能比你需要的更强大。它解决了:
要真正回答你的问题,我需要知道你需要修复什么,特别是。例如,如果你只关心CSS背景图像(可能你只是在做软阴影),那么我建议你只需从该插件中复制8行的'粘贴'。
// fix css background pngs
jQuery(this).find("*").each(function(){
var bgIMG = jQuery(this).css('background-image');
if(bgIMG.indexOf(".png")!=-1){
var iebg = bgIMG.split('url("')[1].split('")')[0];
jQuery(this).css('background-image', 'none');
jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='scale')";
}
});
答案 5 :(得分:-3)
如果是IE6,我建议使用透明的gif。在页面加载时,执行browser detect,并根据需要在javascript中设置图像src。