网站调整为黑白的方法

Posted wangmj518

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网站调整为黑白的方法相关的知识,希望对你有一定的参考价值。

当举行哀悼活动时,有时会要求将网站调整为黑白色,确保展现效果肃穆凝重

通过以下方法可快速将网站调整为黑白

首先,先下载grayscale.js文件,需要使用这个插件实现效果

链接: https://pan.baidu.com/s/1KWbWDWHclvjPcZfMIJljxA 提取码: uw9e

修改首页

html文件中加入以下代码(自行更换grayscale.js的路径)

<!-- 特殊日子IE10及其以上浏览器 全站灰色 -->
<script type="text/javascript" src="js/grayscale.js" ></script>
<style>
html, html *
    filter: gray !important;
    filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%); 

</style>
<script type="text/javascript">
    var navStr = navigator.userAgent.toLowerCase();
    if(navStr.indexOf("msie 10.0")!==-1||navStr.indexOf("rv:11.0")!==-1) // 判断是IE10或者IE11
        grayscale(document.body);
        grayscale(document.getElementsByTagName("img"));
    
</script>

修改全站

要将全站都变成黑白的话,需要在全站公用的js文件中加入代码,如果没有公用js的话,就只能在每个页面加个js文件了

公用js文件内容(自行更换grayscale.js的路径):

//特殊日子IE10及其以上浏览器 全站灰色
document.write('<script type="text/javascript" src="js/grayscale.js" ></script>');
document.write('<style>');
document.write('html, html *');
document.write('    filter: gray !important;');
document.write('    filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);');
document.write('    filter: grayscale(100%);');
document.write('    -webkit-filter: grayscale(100%);');
document.write('    -moz-filter: grayscale(100%);');
document.write('    -ms-filter: grayscale(100%);');
document.write('    -o-filter: grayscale(100%); ');
document.write('');
document.write('</style>');
document.write('<script type="text/javascript">');
document.write('    var navStr = navigator.userAgent.toLowerCase();');
document.write('    if(navStr.indexOf("msie 10.0")!==-1||navStr.indexOf("rv:11.0")!==-1)');
document.write('        grayscale(document.body);');
document.write('        grayscale(document.getElementsByTagName("img"));');
document.write('    ');
document.write('</script>');

点击可切换黑白

如果需要点击一下变成黑白,再点击一下变回原样,需要在html文件中加入以下代码(自行更换grayscale.js的路径)

<style>
  /* 特殊日子 全站灰色 */
.site-gray, .site-gray *
    filter: gray !important;
    filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%); 

</style>

<a href="javascript:;" class="site-gray" data-gray="0">网站变灰</a>

<!-- 特殊日子IE10及其以上浏览器 全站灰色 -->
<script src="js/grayscale.js"></script>
<script>
    var navStr = navigator.userAgent.toLowerCase();
    $(".site-gray").click(function()
        var gray = $(this).attr("data-gray");
        if( gray == 0 )
        
            if(navStr.indexOf("msie 10.0")!==-1||navStr.indexOf("rv:11.0")!==-1) // 判断是IE10或者IE11
                grayscale(document.body);
                grayscale(document.getElementsByTagName("img"));
            
            $("html").addClass("site-gray");
            $(this).attr("data-gray", 1);
        
        else
        
            if(navStr.indexOf("msie 10.0")!==-1||navStr.indexOf("rv:11.0")!==-1) // 判断是IE10或者IE11
                grayscale.reset(document.body);
                grayscale.reset(document.getElementsByTagName("img"));
            
            $("html").removeClass("site-gray");
            $(this).attr("data-gray", 0);
        
    );
</script>

可以使用下面的兼容性写法,达到兼容更多浏览器的作用。

以下适用于主流浏览器(除IE外),放置在网站公共头部或者底部文件里

如果需要对IE浏览器进行兼容

还需要使用到一个JS,两者搭配可以达到较好的兼容性

引入到页面中并指定变黑白的部分即可,如果指定全部,使用body就可以了

grayscale(document.body); //整站变成灰色
grayscale(document.getElementById("main"));//指定元素变灰色
grayscale.reset(document.getElementById("main"));//指定元素还原

 

以上是关于网站调整为黑白的方法的主要内容,如果未能解决你的问题,请参考以下文章

电脑屏幕变成黑白色的了!如何调成彩色的呢?谢谢

win10 显示从彩色变黑白,任务栏变白色

电脑屏幕是黑白的怎么调

在 GPUImage 中将黑白图像转换为透明和白色图像? RGB -> Alpha 基本上

打开Tiff文件为啥显示为黑白色

照片变底色