4.4日清明节大家可以看到很多很多网站包括主页和内容也都已经变成了灰色,比如百度、掘金、思否、CSDN 等等。

思否

CSDN

大家可以看到全站的内容都变成灰色了,包括按钮、图片等等。这时候我们可能会好奇这是怎么做到的呢?

有人会以为所有的内容都统一换了一个 CSS 样式,图片也全换成灰色的了,按钮等样式也统一换成了灰色样式。但你想想这个成本也太高了,而且万一某个控件忘记加灰色样式了岂不是太突兀了。

其实,解决方案很简单,只需要几行代码就能搞定了。

实现

我们选择一个网站,比如 头条,打开浏览器开发者工具。

变灰效果

审查一下网页的源代码,选中html,然后我们只要将下面这行 CSS 样式,加入到页面指定节点,即可实现网页变灰的效果:

html {

-webkit-filter: grayscale(100%);

-moz-filter: grayscale(100%);

-ms-filter: grayscale(100%);

-o-filter: grayscale(100%);

filter: grayscale(100%);

filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);

}

-webkit-filter: grayscale(.95);我们将其取消,就能发现网站的颜色就能重新还原回来了。还原效果

还原效果

果然是这个样式在起作用,而且是全局的效果,因为它是作用在了 html 这个节点之上的。

因此我们可以确定,通过一个全局的 CSS 样式就能将整个网站变成灰色效果。

分析

那么这里我们就来详细了解一下这究竟是一个什么样的 CSS 样式。

这个样式名叫做 filter,搜下 MDN 的官方介绍,其链接为:https://developer.mozilla.org/zh-CN/docs/Web/CSS/filter。

官方介绍内容如下:

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

CSS 标准里包含了一些已实现预定义效果的函数。你也可以参考一个 SVG 滤镜,通过一个 URL 链接到 SVG 滤镜元素 (SVG filter element[1])。

其实就是一个滤镜的意思。

官方有一个 Demo,可以看下效果,如图所示。

Demo

比如这里通过 filter 样式改变了图片、颜色、模糊、对比度等等信息。

其所有用法示例如下:

/* URL to SVG filter */

filter: url("filters.svg#filter-id");

/* 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%);

/* Global values */

filter: inherit;

filter: initial;

filter: unset;

各个用法介绍大家可以参考官方的文档说明:https://developer.mozilla.org/zh-CN/docs/Web/CSS/filter

比如这里如果我们可以使用 blur 设置高斯模糊,用法如下:

  • filter: grayscale(percent)

给图像设置高斯模糊。radius 一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起,所以值越大越模糊;如果没有设定值,则默认是 0;这个参数可设置绝对像素值,但不接受百分比值。

可以达成这样的效果:

效果

再说回刚才的灰色图像,这里其实就是设置了 grayscale,其用法如下:

filter: grayscale(percent)

filter: grayscale(percent)

将图像转换为灰度图像。值定义转换的比例。percent 值为 100% 则完全转为灰度图像,值为 0% 图像无变化。值在 0% 到 100% 之间,则是效果的线性乘子。若未设置,值默认是 0。另外除了传递百分比,还可以传递浮点数,效果是一样的。

如:

filter: grayscale(1)

filter: grayscale(100%)

都可以将节点转化为 100% 的灰度模式。

所以一切到这里就清楚了,如果我们想要把全站变成灰色,再考虑到各浏览器兼容写法,可以参考下 CSDN 的写法:

.gray {

-webkit-filter: grayscale(100%);

-moz-filter: grayscale(100%);

-ms-filter: grayscale(100%);

-o-filter: grayscale(100%);

filter: grayscale(100%);

filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);

}

这样想要变灰的节点只需要加上 gray 这个 class 就好了,比如加到 html 节点上就可以全站变灰了。

最后呢,看一下浏览器对 filter 这个样式的兼容性怎样,如图所示:

兼容性

这里我们看到,这里除了 IE,其他的 PC、手机端的浏览器都支持了,Firefox 的 PC、安卓端还单独对 SVG 图像加了支持,可以放心使用。

各大网站网页代码_清明节各大网站实现变灰效果(一行代码搞定)相关推荐

  1. python拼图游戏代码_教你用Python自制拼图小游戏,轻松搞定熊孩子

    摘要:本文主要为大家详细介绍了python实现拼图小游戏,文中还有示例代码介绍,感兴趣的小伙伴们可以参考一下. 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Pyth ...

  2. 如何使用css实现网站变灰效果

    目录 示例 代码分析 grayscale saturate 总结 参考 为了悼念新冠病毒牺牲的烈士,很多网站都在清明节那天把网站设置成了灰色. 示例 我选择了几个网站,先来看看它们是如何实现网站变灰效 ...

  3. HTML+CSS大作业: 抗击疫情网页制作作业_疫情防控网页设计模板HTML_ 简单学生网页设_静态HTML+CSS网站制作成品...

    HTML+CSS大作业: 抗击疫情网页制作作业_疫情防控网页设计模板HTML_ 简单学生网页设计_静态HTML+CSS网站制作成品 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大 ...

  4. 技术大揭秘:百度、淘宝、QQ那些官网如何就只用一行代码实现网页变灰效果?...

    转自进击的Coder,作者崔庆才 今天是 2020 年 4 月 4 日,星期六,清明节. 我们的国家经历了非常惨痛的时刻,很多英雄在救助他人的路上倒下,更有很多烈士英雄保卫人民的安危遇难,今天全国下降 ...

  5. HTML5期末大作业网页设计:电商购物网站设计(56页) HTML+CSS+JavaScript 毕业设计、课程设计适用...

    常见网页设计作业题材有 ​​个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶. 家居. 酒店. 舞蹈. 动漫. 明星. 服装. 体育. 化妆品. 物流. 环保. 书籍. 婚纱. 军 ...

  6. 如何用一行代码实现网页变灰效果?

    今天是 2020 年 4 月 4 日,星期六,清明节. 我们的国家经历了非常惨痛的时刻,很多英雄在救助他人的路上倒下,更有很多烈士英雄保卫人民的安危遇难,今天全国下降半旗,北京时间 10 点全国默哀三 ...

  7. python批量检索文献_快解锁新姿势,教你如何用Python搞定文献搜索和科研图片!...

    相比实验论文,发表SCI应该更让科研狗们重视和焦虑. 起初看到读博的同学发表SCI论文,心里面就已经酸了,后来「本科生发数篇 SCI」的新闻屡见不鲜,现在甚至连小学生都跑出来分一杯羹-- 前段时间,B ...

  8. 个人博客 | 网站部署终极操作:一行命令搞定!

    视频教程: CodeSheep羊哥的视频:个人博客 | 网站部署终极操作:一行命令搞定! docker-compose.yml version: '3.3'services:db:image: mys ...

  9. 《看聊天记录都学不会C语言?太菜了吧》(14)这么神奇?我写了20行代码竟然一行就可以搞定?

    好消息2020年4月13日晚7.30我在CSDN开播,等你来聊天 预约连接:https://live.csdn.net/room/A757291228/MJWK0Gem 本系列文章将会以通俗易懂的对话 ...

  10. 响应式网页设计代码_消除响应式网站建设设计中的缺陷

    在过去的5年里,移动流量的份额增长了20%,现在响应式网站设计已经被认为是理所当然的了.到2020年,您可以通过手机几乎可以访问任何网站,它会很好用.大多数用户如果看到一个网站在他们的智能手机或平板电 ...

最新文章

  1. 华数软件测试岗位,重磅:字节跳动与华数共同研发的电视原创视频app已正式测试上线...
  2. HDU 2079 选课时间
  3. Bootstrap中模态框多层嵌套时滚动条问题
  4. Go语言实战读书笔记
  5. 理解数据类型与数学运算:求和、温度转换2
  6. HTMLParser使用
  7. python连接池框架_Python中的连接池是非常重要的!神级程序员详解!
  8. jquery.validation.js 表单验证
  9. iscsi 挂载教程_CentOS下如何搭建ISCSI以及Windows如何挂载ISCSI镜像
  10. cpc安装 mysql_专利电子申请客户端(CPC软件)
  11. 太宰治《人间失格》经典语录20句,句句引人深思
  12. 2021年全国安全生产月 安全知识网络竞赛 链工宝“测测你的安全力”题库 三百多道真题含答案
  13. 学习笔记-SNN用STDP法的MNIST数据集识别代码深入阅读
  14. win32 mysql误删数据恢复_mysql误删数据恢复
  15. iOS企业签名过程中APP频繁出现闪退是什么原因?
  16. 小伙伴面试之成都创宇知道
  17. 2021-2027全球及中国PCR试管行业研究及十四五规划分析报告
  18. 智商情商哪个重要_情商与智商,到底哪个更重要?
  19. 计算机无法识别硬盘怎么办,硬盘电脑不识别怎么办?硬盘数据怎么恢复?
  20. 二极管三极管基础PN结详解

热门文章

  1. [Unity3D]自制UnityForAndroid二维码扫描插件
  2. Solaris做desktop必装的10个软件
  3. java线程状态、新建状态、运行状态、阻塞状态、等待阻塞、同步阻塞、其他阻塞、死亡状态
  4. mybatis批量插入和批量更新
  5. RocketMQ(三)RocketMQ入门样例
  6. 并发编程之ReadWriteLock接口
  7. Luogu P2617 Dynamic Rankings
  8. plsql developer 无法登录Oracle
  9. Oracle数据库多语言文字存储解决方案
  10. Linux下挂载NTFS