147月

CSS解决IE6下透明PNG图片的显示

SEO/网站推广, 前端开发DIV+CSS

PNG(Portable Network Graphics)是W3C推荐的网页图片通用格式,但是Microsoft的IE6以下(IE7已经支持)没有把PNG的Alpha 通道打开,造成透明PNG图片的效果出不来。在Firefox、Opera下显示正常的透明PNG图片,在IE下浏览时就会带有蓝灰色背景色

解决方法之一是给透明PNG图片加一个滤镜:

代码如下
<div style=”width:100%;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’/Files/BeyondPic/2006-12/1/publics.png’,sizingMethod=’image’)></div>

或是用CSS的方式控制,把style写在CSS文件中,就不用每贴一张图都要写这么长的代码了。

PS:因为IE5.0以下不支持AlphaImageLoader滤镜,所以IE5.0以下就不能显示透明PNG效果了,不过现在还用IE5.0以下的很少了吧

关于AlphaImageLoader滤镜

语法:
filter: progid: DXImageTransform.Microsoft.AlphaImageLoader( enabled=bEnabled, sizingMethod=sSize, src=sURL)

属性:
enabled :  可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false
true :  默认值。滤镜激活。
false :  滤镜被禁止。

sizingMethod :  可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。 crop :  剪切图片以适应对象尺寸。
image :  默认值。增大或减小对象的尺寸边界以适应图片的尺寸。
scale :  缩放图片以适应对象的尺寸边界。        

src :  必选项。字符串(String)。使用绝对或相对 url 地址指定背景图像。假如忽略此参数,滤镜将不会作用。

说明:
在对象容器边界内,在对象的背景和内容之间显示一张图片,并提供对此图片的剪切和改变尺寸的操作。如果载入的是PNG(Portable Network Graphics)格式,则0%-100%的透明度也被提供。
PNG(Portable Network Graphics)格式的图片的透明度不妨碍你选择文本。也就是说,你可以选择显示在PNG(Portable Network Graphics)格式的图片完全透明区域后面的内容。

专业英文网站建设www.onlygrape.com


分享到:



No comments

星期一, 7月 14th, 2008 | 分类:SEO/网站推广, 前端开发DIV+CSS | RSS 2.0 | 留言/评论 | Trackback

留言