itRef.cn技术参考网站

当前位置: 主页 > CSS >

IE6显示png半透明图片详解

时间:2010-06-13 15:58来源:未知 作者:adm_ref 点击:
当网页中使用半透明的图片时,在IE6浏览器下半透明部分会显示灰色的背景,而其它浏览器则正常显示。 发生的条件: 1. IE6 浏览器 2. 使用半透明的png24位图片 png8和gif类似,是全透明类型,没有alpha半透明通道,该类型不存在这种情况。 解决的方法: 1. 使

当网页中使用半透明的图片时,在IE6浏览器下半透明部分会显示灰色的背景,而其它浏览器则正常显示。

发生的条件:

1. IE6 浏览器

2. 使用半透明的png24位图片
 png8和gif类似,是全透明类型,没有alpha半透明通道,该类型不存在这种情况。

解决的方法:

1. 使用css的滤镜针对IE6进行hack;

兼容的代码:

  1. background:transparent url(test.png) no-repeat scroll left top!important;  
  2. background:none;  
  3. _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader  
  4. (src='test.png',sizingMethod='scale'); 

在样式属性值的末尾添加!important,在IE7、IE8、FF浏览器中可以识别,意义是:当多个地方都设置了该样式,且多个地方的样式值不一样,使用了!important的样式优先级别最高。本例子中有两次设置了background属性,在IE7、IE8、FF中会选择优先级别高的样式来渲染,即使用了!important的样式起作用。

因为IE6不识别!important,对于IE6,起作用的是第二个background,即:background:none;

在样式的属性的前面添加“_”下划线,只有IE6可以识别该属性,而其它浏览器不识别有下滑线前缀的属性,所以该样式只有IE6才可以正常解析。

综合以上的设置就可以兼容IE6、IE7、FF。

AlphaImageLoader滤镜属性说明:

src: 使用滤镜效果的png图片地址,设置该属性需要注意,该属性的意义不同于background样式中的url,url的地址是相对于样式文件目录,而这里的src是相对于使用到这个滤镜的html文档的目录,所以最好写成根路径或全路径。本实例中使用根路径

sizingMethod:image 容器根据Png图片适应; crop 图片根据容器尺寸进行切割;scale 图片根据容器尺寸进行缩放

实验的实例:


 提示:您可以先修改部分代码再运行


 

 

(责任编辑:wiwi) 转载请注明 来源于itRef.cn技术参考网站:
顶一下
(0)
0%
踩一下
(1)
100%
------分隔线----------------------------
栏目列表
推荐内容