知乎是怎么解决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就放弃吧。在一个比较大的项目或者框架,用滤镜会有很多问题。
推荐阅读:
相关文章