知乎是怎麼解決IE6下png圖片不透明的?比如登錄頁知乎那2個字


知乎是怎麼做的我不清楚。 要是我的話,會放棄PNG換用GIF


IE6支持索引透明模式,不支持alpha透明、也就是半透明的PNG,有三種解決方法,各有利弊,麻煩程度依次遞增,解決問題的徹底性依次增加:
  1. 使用IE獨有的濾鏡 FILTER: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/fl.png) 優點:相對於以下的使用CSS的方法,節省資源,簡單有效。 缺點:應用濾鏡的部分不能滑鼠點擊,不支持一些mouse事件,不支持background-repeat等。
  2. 引入unitpngfix.js: http://labs.unitinteractive.com/unitpngfix.php

    &

    & & 然後修改unitpngfix.js中clear變數指向的地址為配套的clear.gif的地址 優點:簡單方便

    缺點:不支持background-repeat,會對圖像進行拉伸

  3. 使用iepngfix: http://www.twinhelix.com/css/iepngfix/ 優點:支持背景重複等 缺點:比較麻煩,添加文件較多


沒有最完美的方法,適當的時候用gif,最好的辦法就是國人趕緊放棄IE6吧。

這個問題類似於「 在家做飯,沒有高壓鍋,如何儘快煮熟一隻老母雞?」

解決方法:

1、最優方案:去買個高壓鍋。2、沒有「儘快」,還是拿小火慢慢燉吧。

回到這個問題:

1、最優方案:放棄ie6。

2、沒有最優方案:http://www.zhihu.com/question/19669890
最佳方案就是放棄IE6,兼容IE6的成本太大。。。
_background

如果只是做個博客,可以用濾鏡解決。也可以用unipng這種插件,不過會有一些絕對定位上的bug。

如果做一個比較大的網站,最好就避免這種情況出現,對框架和性能都不好。
對於這個問題,Microsoft只為Windows 2000用戶提供了一個熱補丁,但是,沒有Windows XP的分,為了推廣新版本的Internet Explorer,https://support.microsoft.com/zh-cn/kb/822071
這個貌似沒有遇到過的。。
png-8的圖片吧。一些特殊效果的圖片,ie6就放棄吧。在一個比較大的項目或者框架,用濾鏡會有很多問題。
推薦閱讀:
相關文章