一般在清明节,全国哀悼日,大地震的日子,以及一些影响力很大的伟人逝世或纪念日的时候,身为站长的我们都会让自己的网站的全部网页变成灰色(黑白色),以表示我们对逝者的悼念。那么今天就说说,通过几行简单的代码,来实现这个功能。
前言:
今天是2020年4月4日. 打开朋友圈看到很多朋友在发 '2020年4月4日举行全国性哀悼活动', 也跟着发了朋友圈, '悼念逝者, 致敬英雄' , 真的感觉2020年注定是一个不平常的年份, 随后照常打开电脑, 刷新csdn网站, 网页突然变灰, 还以为除了什么问题, 刷了几次, 依然是灰色的, 才想到, 这是CSDN的悼念行为.
之后知道京东, 淘宝等平台也是如此, 便想知道是如何做到的.
网站变灰代码方法汇总: //以下方法, 略有重复, 请则适选择.
我们可以在网页的CSS文件中添加以下的CSS代码,来实现网页黑白色,也就是网站变灰
html {
filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
-webkit-filter: grayscale(100%);
}
结果效果:
TBD
如果你不想改动CSS文件,你可以通过在网页头部中的
标签内部加入内联CSS代码的形式实现网站网页变灰结果效果:
TBD
如里上面的两种方式都不喜欢,可以通过修改标签,以加入内联样式的方法,达到网页变灰的效果
结果效果:
TBD
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,虽然不支持更多的浏览器,但是稳定、速度快,而且资源占用小。