2009-11-25 81 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 :)