首页 > 其他分享 >网站都变灰了,几行代码可以实现

网站都变灰了,几行代码可以实现

时间:2023-05-18 20:22:07浏览次数:26  
标签:代码 saturate grayscale 几行 filter 85% 80% 变灰 CSS

前言

这两天,我们经常逛的好多网站、app首页都变灰了,原因大家应该都知道了

网站变灰

①B站
这是B站
②爱奇艺
这是爱奇艺
③ 腾讯视频
这是腾讯视频
④ csdn
这是csdn
⑤百度
这是百度

怎么实现的呢?

难道这些网站开发商在网站开发的时候都准备一套灰色主题的UI么?
好奇心的驱使下,开始疯狂的询问度娘,果真还是找到了这么一个网站。

①官方文档地址
https://developer.mozilla.org/zh-CN/docs/Web/CSS/filter

网站这个页面对CSS属性 filter 的用法做了详细介绍,这里截取几个重要部分出来,对filter属性感兴趣的小伙伴可以在以上官网查看详细内容
② 简介

CSS属性 filter 将模糊或颜色偏移等图形效果应用于元素。滤镜通常用于调整图像、背景和边框的渲染。

③ 语法格式

/* URL to SVG filter */
filter: url("filters.svg#filter-id");

/* <filter-function> values */
filter: blur(5px);
filter: brightness(0.4);
filter: contrast(200%);
filter: drop-shadow(16px 16px 20px blue);
filter: grayscale(50%);
filter: hue-rotate(90deg);
filter: invert(75%);
filter: opacity(25%);
filter: saturate(30%);
filter: sepia(60%);

/* Multiple filters */
filter: contrast(175%) brightness(3%);

/* Use no filter */
filter: none;

/* Global values */
filter: inherit;
filter: initial;
filter: revert;
filter: unset;

④ 样例
在这里插入图片描述

来看看网站有没有用CSS filter

我们打开B站首页,然后f12 呼出开发者工具,发现确实有如下样式

html.gray {
    filter: grayscale(85%) saturate(80%);
    -webkit-filter: grayscale(85%) saturate(80%);
    -moz-filter: grayscale(85%) saturate(80%);
    -ms-filter: grayscale(85%) saturate(80%);
    -o-filter: grayscale(85%) saturate(80%);
    filter: url(data:image/svg+xml;utf8,<svg 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>#grayscale);
    filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=.85);
    -webkit-filter: grayscale(.85) saturate(.8);
}

在这里插入图片描述

找到了样式,那么接下来我们拿个人小破站【www.xiezhrspace.cn】试试效果

没添加CSS样式的样子
在这里插入图片描述

添加CSS样式之后
在这里插入图片描述
好家伙,还真变成全灰的了

CSS样式兼容性

个人试了谷歌浏览器、火狐浏览器都是可以通过以上CSS样式实现网页变灰的,IE亲测不行。
下面是官方给出的各个浏览器兼容情况
兼容性

原以为很难实现的功能,原来只需要几行代码就实现了。

本期内容就到这了,我们下期再见(●'◡'●)

标签:代码,saturate,grayscale,几行,filter,85%,80%,变灰,CSS
From: https://www.cnblogs.com/xiezhr/p/17344807.html

相关文章

  • Apache Log4j2远程代码执行漏洞(CVE-2021-44228)修复
    1、演示说明:最近在项目中遇到用户扫描es时发现ApacheLog4j2远程代码执行漏洞(CVE-2021-44228),该漏洞具体原理不再赘述,此处分享解决过程。2、演示环境:(1)系统版本:#cat/etc/redhat-release(2)JDK版本:#java-version(3)es版本:#./elasticsearch-V3、下载命令行扫描工具:下载地址:https://gi......
  • 深度学习代码实践_train.py文件内容(识别数字0-9)
    importcv2fromMLPimportMLPfromCnnimportsave_modelimporttorchimporttorch.nn.functionalasFfromsklearn.metricsimportaccuracy_score,precision_score,recall_score,f1_scorefromsklearn.model_selectionimporttrain_test_splitimporttorch.ut......
  • 使用PHPCS+GIT钩子保障团队开发中代码风格一致性实践
    一、背景笔者在6月份加入新团队,新团队这边刚组建起来,基础一些东西还处于待完善状态,比如笔者组内同学约定使用PSR-2的编码风格规范,但是并不是所有人都严格按照PSR-2来提交代码。最大的原因就是口头的约束力极为有限,而团队中大家使用的编辑器不统一,有使用phpstorm,也有使用VSCode更有......
  • 低代码开发——进最热的赛道,啃最硬的骨头
    你开足马力提了一串需求,需要招聘IOS和Android工程师、前端测试,PM等人员共同完成;这意味着开发者坐下来一行一行的敲击,并不断测试修改直到上线。这个过程短则半年,长则数年,才会给到你一个满意的产品。产品上线了,但是业务开始复杂了,最初的需求也在随着着工作流程变化,开发团队就算第一......
  • 通过C++/CLR封装的方式使非托管的C++、VB6.0调用.Net托管代码
    通常.Net的dll只能被加载到对应的虚拟机中运行和调用,而无法直接被低版本的.Net或C++和VB6.0等非托管代码调用。但是实际项目开发过程中我们为了兼容,不得不同时支持这些非托管代码或低版本的运行时。实际上微软提供了多种方式可以实现这种需求,如进程间通讯、COM/ActiveX、C++/CLR。......
  • gitee代码回滚
    首先在终端上输入  gitlog查看已经提交的版本 然后输入gitreset--hard1cfd1634e3c82de62b8edd84315f89fc7de935bc(你要回退的版本id)然后强制推送到远程仓库gitpush--force ......
  • 24个写出漂亮代码的小技巧
    这篇文章我会总结一些实用的有助于提高代码质量的建议,内容较多,建议收藏!内容概览:提取通用处理逻辑注解、反射和动态代理是Java语言中的利器,使用得当的话,可以大大简化代码编写,并提高代码的可读性、可维护性和可扩展性。我们可以利用注解+反射和注解+动态代理来提取类、......
  • 代码随想录算法训练营第九天|28. 找出字符串中第一个匹配项的下标、459. 重复的子字符
    【参考链接】28.找出字符串中第一个匹配项的下标【注意】1.kmp解决的就是字符串匹配的问题。2.kmp如何知道匹配过哪些字符串,并跳到匹配过的内容后面的字符。---前缀表3.找到一个子字符串里它的最长相等前后缀。4.前缀是包含首字母,不包含尾字母的所有子串;后缀只包含尾字母,不......
  • 用这些C#代码混淆器保护你的代码安全
    最近有群友问,怎么保护发布的C#代码不被别人反编译,这就需要C#代码混淆组件。C#是一种强大的编程语言,可以用于开发各种类型的应用程序,包括桌面应用程序、Web应用程序和移动应用程序等。但是,由于C#程序易于反编译,使得代码的安全性和保护性受到了威胁。为了保护C#代码,开发人员可以使用......
  • 依赖注入 (DI) 是.NET中一个非常重要的软件设计模式,它可以帮助我们更好地管理和组织组
    依赖注入(DI)是.NET中一个非常重要的软件设计模式,它可以帮助我们更好地管理和组织组件,提高代码的可读性,扩展性和可测试性。在日常工作中,我们一定遇见过这些问题或者疑惑。Singleton服务为什么不能依赖Scoped服务?多个构造函数的选择机制?源码是如何识别循环依赖的?虽然我们可......