上次发过一篇网站变灰的文章,不过只在IE下有效,Discuz哀悼日只让首页变灰

这次再找了一个办法,可以兼容各个浏览器。

四川雅安芦山发生7.0级别大地震,不少网站像淘宝、网易等首页已经变成了灰色表示哀悼。

我整理了几种让网页变灰色的CSS代码,供各位站长参考!

方法1:支持IE

[cce_html]
<p><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"></p><p><style>
html{filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}
</style></p>
[/cce_html]
说明:此方法支持IE,不支持Firefox和Chrome等非IE内核浏览器。

方法2:支持IE

[cce_html]body {filter:gray}[/cce_html]

说明:此方法支持IE,不支持Firefox和Chrome等非IE内核浏览器。

提示:虽然这个方法代码量最小,但是效果却不好,而且网页也比较卡。

方法3:同时支持IE和Chrome

[cce_html]<style>
html {overflow-y:scroll;filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);-webkit-filter: grayscale(100%);}
</style>[/cce_html]说明:此方法支持IE浏览器、Safari和Chrome等浏览器,但是不支持Firefox浏览器。

方法4:使用grayscale.js插件

使用grayscale.js插件。这个插件是模拟IE的filter:progid方,官网地址在:

http://james.padolsey.com/javascript/grayscaling-in-non-ie-browsers/

使用方法:

[cce_html]<script src="http://james.padolsey.com/demos/grayscale/grayscale.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload=function(){  grayscale(document.body);  }
</script>[/cce_html]

说明:支持IE、Safari、Chrome、Opera和Firefox等浏览器。

问题:这个在IE下也挺占资源的。

建议:使用方法3,虽然不支持更多的浏览器,但是稳定、速度快,而且资源占用小。还有一点,我发现除了方法四,其他的在IE10下也都失效,不知为什么。。。

=====================================

个别处理:IE下有些flash还是彩色的,处理方法如下:

如果网页中含有FLASH,可以使用下面的方法使FLASH变灰:

第一种方法:如果是用下面的方式调用FLASH,则在代码中加入 wmode=”opaque” ,例如:

[cce_html]<embed src="http://www.zzsky.cn/flash/flash/20085777173407.swf" width="600" height="150" type="application/x-shockwave-flash" quality="high" wmode="opaque">[/cce_html]

第二种方法:如果是用下面的方式调用FLASH,则在代码中加入 <param name=”wmode” value=”opaque”> ,例如:

[cce_html]
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0" name="flashmtv" id="flashmtv" width="100%" height="350">
<param name="movie" value="http://music.zzsky.cn/flashmtv/duandian.swf">
<param name="quality" value="high">
<param name="wmode" value="opaque">
<embed src="http://www.zzsky.cn/flash/flash/20085777173407.swf" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" quality="high" name="flashmtv" id="flashmtv" width="100%" height="350">
</embed>
</object>
[/cce_html]

图片变灰

[cce_html]img{filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}[/cce_html]

使去掉网页上图片的颜色,注:此法不能去处js调用过来的图片颜色,所以希望广告平台能够响应,三天灰色网络,以表示哀悼!