如何让网页变灰

1.应用场景

一般在清明节,全国哀悼日,大地震的日子,以及一些影响力很大的伟人逝世或纪念日的时候,身为站长的我们都会让自己的网站的全部网页变成灰色(黑白色),以表示我们对逝者的悼念。那么今天就说说,通过几行简单的代码,来实现这个功能。

2.学习/操作

前言:

今天是2020年4月4日. 打开朋友圈看到很多朋友在发 '2020年4月4日举行全国性哀悼活动', 也跟着发了朋友圈, '悼念逝者, 致敬英雄' , 真的感觉2020年注定是一个不平常的年份, 随后照常打开电脑, 刷新csdn网站, 网页突然变灰, 还以为除了什么问题, 刷了几次, 依然是灰色的, 才想到, 这是CSDN的悼念行为.

如何让网页变灰_第1张图片

之后知道京东, 淘宝等平台也是如此, 便想知道是如何做到的.

方法汇总: //以下方法, 略有重复, 请则适选择.

方法一

第一种:修改CSS文件

我们可以在网页的CSS文件中添加以下的CSS代码,来实现网页黑白色,也就是网站变灰

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

结果效果:

TBD

第二种:在网页的标签内加入以下代码

如果你不想改动CSS文件,你可以通过在网页头部中的标签内部加入内联CSS代码的形式实现网站网页变灰

结果效果:

TBD

第三种:修改标签加入内联样式

如里上面的两种方式都不喜欢,可以通过修改标签,以加入内联样式的方法,达到网页变灰的效果

结果效果:

TBD

第四种:这里使用的CSS代码

body *{
-webkit-filter: grayscale(100%); /* webkit */
-moz-filter: grayscale(100%); /*firefox*/
-ms-filter: grayscale(100%); /*ie9*/
-o-filter: grayscale(100%); /*opera*/
filter: grayscale(100%);
filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); 
filter:gray; /*ie9- */   /*  但是这行代码是为了兼容IE, 虽然一行代码很少, 但是效果并不好, 而且网页比较卡, 不推荐使用[即删除,], 同时发现, csdn, 京东, 淘宝也都没有兼容IE11浏览器 */
}

结果效果:

TBD

以上几种方法,都是通过CSS的滤镜来控制页面的显示而已,唯一不同的就CSS代码调用的方式

方法二

同时支持IE和Chrome, Safari, 但是不支持Firefox.

html {overflow-y:scroll;filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);-webkit-filter: grayscale(100%);}

补充:

body {

  filter:gray

}

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

方法三

使用grayscale.js插件

使用grayscale.js插件。这个插件是模拟IE的filter:progid方法。

使用方法方法:

grayscale.js插件源文件:http://cn.baiwanzhan.com/js/gray_baiwanzhan.js

window.οnlοad=function(){

    grayscale(document.body);

}

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

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

方法四

找到你的CSS文件然后修改css代码文件。在以下的文件当中

form,div,span,img,ul,ol,li,

加入filter: Gray;

总结:

建议:使用方法3,虽然不支持更多的浏览器,但是稳定、速度快,而且资源占用小。

 

你可能感兴趣的:(软件工程,servlet,html,javascript)