这个问题曾经困扰我许久许久……曾经一度的采用滤镜的方法搞定这个问题,但是这种方法有个弊端。就是当有多个png图片的时候,这就造成了css的压力,得写多少css代码呀。也尝试过js,但是这些方法都有一个缺点,就是不支持CSS中backgrond-position与background-repeat.是否有一种方法能解决全站的ie6下png透明问题呢。
搜遍谷歌,发现了一个最完美的解决方案:DD_belatedPNG(点解连接 查看官方).
原理
这个js插件使用了微软的VML语言进行绘制,而其他多数解决PNG问题的js插件用的是AlphaImageLoader滤镜.
使用方法
1.点击这里下载 DD_belatedPNG.js
2.在网页中引用,如下:
复制代码代码如下:
<!--[if IE 6]>
<script src="DD_belatedPNG.js"></script> _fcksavedurl=""DD_belatedPNG.js"></script>"
<script>
/* EXAMPLE */
DD_belatedPNG.fix(.png_bg);
/* 将 .png_bg 改成你应用了透明PNG的CSS选择器 */
</script>
<![endif]-->
使用a:hover请留意
想要用透明PNG作为a:hover时的背景图片,,需要以”a:hover”来作为选择器
例:
复制代码代码如下:
<!--[if IE 6]>
<script type="text/javascript" src="js/DD_belatedPNG.js" ></script>
<script type="text/javascript"> DD_belatedPNG.fix(.png_bg,.box a:hover);
</script>
<![endif]-->