几行代码,让你的网站内容和图片都变成灰色。
1.应用场景
一般在清明节,全国哀悼日,大地震的日子,以及一些影响力很大的伟人逝世或纪念日的时候,身为站长的我们都会让自己的网站的全部网页变成灰色(黑白色),以表示我们对逝者的悼念。那么今天就说说,通过几行简单的代码,来实现这个功能。
2.学习/操作
前言:江泽民同志患白血病合并多脏器功能衰竭,抢救无效,于2022年11月30日12时13分在上海逝世。我们沉痛悼念江泽民同志,将化悲痛为力量,按照中共二十大的部署,为全面建设社会主义现代化国家、全面推进中华民族伟大复兴而团结奋斗。今天打开电脑看到 搜看导航 网页突然变灰, 才知道搜看导航是在悼念江泽民同志。之后知道京东, qq等平台也是如此, 便想知道是如何做到的。
方法汇总: //以下方法, 略有重复, 请则适选择.
方法一
第一种:修改CSS文件,我们可以在网页的CSS文件中添加以下的CSS代码,来实现网页黑白色,也就是网站变灰:
html {
filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
-webkit-filter: grayscale(100%);
}
第二种:在网页的<head>标签内加入以下代码,如果你不想改动CSS文件,你可以通过在网页头部中的<head>标签内部加入内联CSS代码的形式实现网站网页变灰:
<style type="text/css">
html {
filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
-webkit-filter: grayscale(100%);}
</style>
第三种:修改<html>标签加入内联样式,如里上面的两种方式都不喜欢,可以通过修改<html>标签,以加入内联样式的方法,达到网页变灰的效果:
<html style="filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
-webkit-filter: grayscale(100%);">
第四种:这里使用的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浏览器 */
}
以上几种方法,都是通过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,虽然不支持更多的浏览器,但是稳定、速度快,而且资源占用小。