我知道这是一个有点愚蠢的问题,但我无法弄清楚如何在IE6中制作透明的PNG。我尝试了几件事,但他们没有工作。我想知道是否有人能让我知道一个合适的黑客?
提前致谢,
AD72
答案 0 :(得分:3)
他们使用jQuery pngFix。奇迹般有效! http://jquery.andreaseberhard.de/pngFix/
答案 1 :(得分:1)
我已经尝试了IE6之前的一些png hacks,这是解决所有问题的最佳方法,即与pngs有关。祝你好运
答案 2 :(得分:1)
这是我们使用的代码似乎工作得很好。
// from http://labs.unitinteractive.com/unitpngfix.php
var clear="/images/template/clear.gif" //path to clear.gif
pngfix=function(){var els=document.getElementsByTagName('*');var ip=/\.png/i;var i=els.length;while(i-- >0){var el=els[i];var es=el.style;if(el.src&&el.src.match(ip)&&!es.filter){es.height=el.height;es.width=el.width;es.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+el.src+"',sizingMethod='crop')";el.src=clear;}else{var elb=el.currentStyle.backgroundImage;if(elb.match(ip)){var path=elb.split('"');var rep=(el.currentStyle.backgroundRepeat=='no-repeat')?'crop':'scale';es.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+path[1]+"',sizingMethod='"+rep+"')";es.height=el.clientHeight+'px';es.backgroundImage='none';var elkids=el.getElementsByTagName('*');if (elkids){var j=elkids.length;if(el.currentStyle.position!="absolute")es.position='static';while (j-- >0)if(!elkids[j].style.position)elkids[j].style.position="relative";}}}}}
window.attachEvent('onload',pngfix);
答案 3 :(得分:0)
我使用了TwinHelix中的那个或上面提到的jquery。
答案 4 :(得分:0)
PNG形式的图像是Post Notational Graphic,主要在英国维多利亚女王时代的法律中描述,因此主要用于英国。一些用于创建和显示PNG图像的软件来自英格兰,并且所有浏览器都需要不同的显示软件版本,并且可能没有委托完成不同的新浏览器版本和内容环境,并且不兼容性可能会持续存在时间。最初的协议是MS和IE浏览器仅用于显示PNG,并且可能为其他浏览器开发了许多非正式的黑客和解码,并取得了不同的成功。 PNG只有在定义的国家和省份列表中使用时才能正式和完全可渲染。