如何使IE6支持css background png透明背景图片

IE6不支持png-24透明图片是相当大的缺陷,而现在网页制作为了达到预想的设计效果大多都采用png透明图片,博客吧前些日子的仿美团网wordpress淘宝客主题meituan使用的就是png透明图片,IE6是位“老人家”,接受不了各式各样的新兴事物,因此需要另辟蹊径使IE6支持png24透明图片。对于img的png图片可以使用IE特有的滤镜或者expression实现透明,而对于css background的背景图片就需要使用DD_belatedPNG才能实现。

详细操作方法:

在网页中的<head></head>之间添加以下引用代码

1 2 3 4 5 6 <!–[if IE 6]> <script type=”text/javascript” src="JS路径"></script> <script> DD_belatedPNG.fix('CSS选择器, 应用类型'); </script> <![endif]–>

CSS选择器可使用ID选择器和类选择器;应用类型分别为img和background两种;

例1:

1 DD_belatedPNG.fix('.pngfix,background');

表示“类选择器为pngfix的background图片”

例2:

1 DD_belatedPNG.fix('#pngfix,img');

表示“ID选择器为pngfix的img图片”

此外还有简写方法

1 DD_belatedPNG.fix('.pngfix,#pngfix,background,img');

多个选择器的写法(对于有多处div需要使用png透明background背景图片的,建议添加一个共同的CSS选择器便于使用)

1 DD_belatedPNG.fix('#box-one,.header,#footer,.box-two a:hover, img,background');

以上几种方法可以根据需要自由选择使用。

另外,IE6背景图片会闪烁的问题,可以通过在页面中添加以下代码解决:

1 2 3 4 5 6 7 8 9 10 11 <!–[if IE 6]> <script type=”text/javascript”> // <![CDATA[ if((window.navigator.appName.toUpperCase().indexOf("MICROSOFT")>=0)&&(document.execCommand)) try{ document.execCommand("BackgroundImageCache", false, true); } catch(e){} // ]]> </script> <![endif]–>

PS:IE6本该是要淘汰的浏览器,我本人是非常不喜欢的,做主题的时候,基本不会刻意去兼容IE6浏览器,除非是售卖的wordpress淘宝客主题(买家要求支持),而且谷歌、微软等都加入反IE6行列了,大家作点贡献吧~~

如何使IE6支持css background png透明背景图片:等您坐沙发呢!

发表评论

表情
还能输入210个字