当柳上原的风吹向天际的时候...

真正的快乐来源于创造

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
PNG图片作为网页图的一个好处是它允许有透明背景,这一点比gif格式做得要好,但也有不如意的地方,就是在FireFox上PNG的透明背景显示得很好,但是在IE中就做不到了,这就需要滤镜技术的帮助。

比如有一张图片作为logo,它放在一个id为logodiv的DIV中,在CSS中是这样定义的:
#logoDiv{
    width
:300px;
    height
:100%;
    background
:transparent url(../img/logo.png) no-repeat -65px 0px;
}

这张图片在FF显示没有问题,在IE6中就需要加上这样一段:
*html #logoDiv{
    width
:300px;
    height
:100%;
    margin-left
:-65px;
    background-color
:transparent;
    background-image
:none;
    filter
:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="web/img/logo.png", sizingMethod="crop");
}
这段代码FireFox是不认识的,会被略过,图片会继续上面#logoDiv的效果,而IE会用下面一段取代上面这一段,所以滤镜透明图片的效果就出现了。这两段代码放在一起,无论客户浏览器是IE6或是FireFox都能适应了。

使用滤镜有两点需要注意的:一是图片地址是网页相对app的地址,不是css相对app的地址,所以上面两处路径会有差异;另外一点是在不同的IE滤镜的写法也有差异,需要根据客户浏览器实际情况调整一下。

具体代码请见,其中有三处使用了滤镜,分别是logo,主菜单左侧和右侧,您可以从下面的代码中去寻找它们
http://www.box.net/shared/tz5k1um68l
http://www.box.net/shared/mbdf2e85yi



posted on 2011-03-04 13:13 何杨 阅读(902) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: