使用css将网页变成黑白色

时光总嘲笑我的痴心妄想 提交于 2020-04-04 14:34:13

其实将整个网页全局变色,无非就是三种,css直接设置,添加svg滤镜,通过js遍历所有标签更改颜色,于是

1、css

直接编辑样式,然后在需要应用的地方设置class

1 .gray { 
2     -webkit-filter: grayscale(100%);
3     -moz-filter: grayscale(100%);
4     -ms-filter: grayscale(100%);
5     -o-filter: grayscale(100%);
6     filter: grayscale(100%);
7     filter: gray;
8 }

2、svg

先编写svg文件

<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
    <filter id="grayscale">
        <feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"/>
    </filter>
</svg>

css调用

1 filter: url(gray.svg#grayscale);

3、js遍历

直接插入代码就好啦,能白嫖是不可能手写的(ps:用rgba和!important的无法改变,其他未实验)

1 <script src="http://james.padolsey.com/demos/grayscale/grayscale.js"></script>

js源不太好,会导致网页加载过慢,可手动下载到本地grayscale.js(点开之后F12,切换到Network标签,刷新网页会出现一个文件,右键save as)

然后用js或者jq调用

1 /*js调用*/
2 grayscale(document.getElementById("thisImage"));
3 /*jq调用*/
4 grayscale($("#thisImage"));

大家可能没有注意到这篇博客是2020-04-04,让我们一起缅怀战疫中逝去的英雄,愿凛冬消散 春暖花开后 再无国殇

原文地址https://blog.csdn.net/qq_15096707/article/details/47130877

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!