2009-11-25 96 views
0

我有一个问题,在IE6 png格式的透明.. 下面是需要被固定ie6中的PNG透明度帮助!

<input type="image" alt="rtf" src="/components/i/images/icons/rtf.png"/> 

我看到这个论坛一些帖子,但我不能清楚地了解代码.. 任何人都可以让我通过修复它的过程? 谢谢..

+9

欢迎保存到IE6 – Yacoby 2009-11-25 15:00:35

+0

的乐趣重复 - http://stackoverflow.com/questions/697682/ie6-png-transparency – silent 2009-11-25 15:58:09

+0

我知道这个主题很多线程,但我不明白他们..thatz为什么我开始一个新的线程,以便有人可以帮助我.. – Sam 2009-11-26 12:25:06

回答

1

基本上IE6不能正确地做alpha透明。它在使用PNG-8图像进行透明度(具有布尔透明度)方面做得很好,但根本无法处理PNG-24。

这是默认位置。

如果在IE6中需要全面的alpha透明度,那么你最好的选择是使用一个脚本,它引入了黑客使其工作。有supersleight这很慢。或者更好的选项是DD_BelatedPNG,它不依赖于AlphaImageLoader。

0

我应该指出,如果您应用了修复程序,则在使用透明PNG时IE会非常麻烦。这是因为AlphaImageLoader有一个可能导致浏览器挂起的重大缺陷。 This link has more details about a fix that works around the lockukp.但是,在我的测试中,即使是那种广泛的修复也是不够的。在查看带有PNG的页面时,我们仍然遇到IE6浏览器锁定问题。

通过使用8位alpha通道PNG,您可以以不同的方式解决问题,并在IE中进行平滑降级。没有多少工具可以做到这一点,但您可以找到信息herehere。 8位图像不会使IE崩溃,并且在IE7 +和所有其他浏览器中看起来都不错。 IE6将会看到没有透明部分的图像。这对你的设计可能是可以接受的。如果没有,我会考虑改变设计,如果你关心IE6。它根本不稳定。

0

请勿将PNG24用于图标。将图标转换为PNG8并压缩元数据。这解决了IE6错误,节省流量并使页面更快。

您可以使用pngout进行转换。破碎中PNG格式,你应该使用pngoutadvpngoptipngpngcrush

pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB -brute -l 9 -max -reduce -m 0 -q FILE 
optipng -o7 -q FILE 
pngout FILE -q -y -k0 -s0 
advpng -z -4 FILE 

如果有元数据的破碎复杂的部分,只有图像PNG8 :)