现在,不少网站需要用到灰色效果,比如企业站的”友情链接”、”部分案例”、网站底部logo等…
切图是比较简单,保存一张图片就好了。但是…图片要加载、增加了图片数量、更换不方便等等等等…
站在效率的角度来讲,用简单的代码来实现,显然更胜一筹…

1、整站变灰

在全局css文件中,加入以下代码

html {  
filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); //IE6以上   
-webkit-filter:grayscale(100%); //支持google、Safari  
}

2、只想针对图片

页面里所有的图片

img{filter:Gray; //IE}  

3、只让指定图片变为灰色

比如logo

.gery{filter:Gray;}  
<img src="logo.gif" class="gery">  

4、如果部分图片变灰

另外一些保留彩色

.nochange {filter:gray(enabled=false);}  
<img src="no.gif" class="nochange" />  

5、让网站中Flash动画变灰

在Flash代码的<object …>和之间插入:

<param value="false" name="menu"/>  
<param value="opaque" name="wmode"/>  

6、使得Firefox变灰的方法

firefox旧版本必须调用grayscale.js来实现,然后在网站头部加入引用:

<script src="grayscale.js" type="text/javascript"></script>  
<script type="text/javascript"> window.onload=function(){grayscale(document.body); } </script>  

然而Firefox新版已支持该滤镜

综上所述,IE6+、FF、google 全兼容完整的代码为:

html{  
filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);  
-webkit-filter:grayscale(100%);  
-moz-filter: grayscale(100%);  
-ms-filter: grayscale(100%);  
-o-filter: grayscale(100%);  
filter: grayscale(100%);  
filter:Gray;  
}  

注:相信日常会用FF的朋友,都会进行升级体验,所以grayscale.js的写法不调用,在此只用来拓展学习。