清明节,如何用代码让网页变灰

简介: 清明节,如何用代码让网页变灰

有时候如清明节时很多网站的全站的内容都变成灰色了,包括按钮、图片等等

这是怎么做到的呢?有人会以为所有的内容都统一换了一个 CSS 样式,图片也全换成灰色的了,按钮等样式也统一换成了灰色样式。

但这个成本也太高了,而且万一某个控件忘记加灰色样式了岂不是太突兀了。其实,解决方案很简单,只需要几行代码就能搞定了。

filter: grayscale(100%);

就是这一行代码,我们把这一行代码放到给到网站根节点,也就是html标签,就可以实现整个网站变灰的效果,不同的网站为了考虑兼容性,有不同的写法,比如腾讯视频的

html {
  filter: gray;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

比如B站的

html.gray {-webkit-filter: grayscale(.95);}

CSDN的

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);
}

这个实现看起来兼容性会更好一些。

因此我们可以确定,通过一个全局的 CSS 样式就能将整个网站变成灰色效果。那么这里我们就来详细了解一下这究竟是一个什么样的 CSS 样式。这个样式名叫做 filter,搜下 MDN官方介绍。

官方介绍内容如下

  1. filter CSS 属性将模糊或颜色偏移等图形效果应用于元素。滤镜通常用于调整图像,背景和边框的渲染。
  2. CSS 标准里包含了一些已实现预定义效果的函数。你也可以参考一个 SVG 滤镜,通过一个 URL 链接到 SVG 滤镜元素 (SVG filter element[1])。
    其实就是一个滤镜的意思。
    其所有用法示例如下:
/* 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%);
/* Global values */
filter: inherit;
filter: initial;
filter: unset;

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

filter: blur(radius)

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

可以达成这样的效果:

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

filter: grayscale(percent)

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

如:

filter: grayscale(1)
filter: grayscale(100%)

都可以将节点转化为 100% 的灰度模式。所以一切到这里就清楚了,如果我们想要把全站变成灰色,再考虑到各浏览器兼容写法,可以参考下上面提到的 CSDN 的写法

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

看一下各个网站在IE下的显示效果,都没有兼容IE,不过有些网站只是加一个这个样式,去掉之后就全部恢复原来的样子了,而做的比较好的,比如腾讯视频,网站中所有的图片链接全都变成了灰色图片,所以就算腾讯视频在IE下也只是个别图标有了颜色而已


相关文章
|
XML Web App开发 SQL
一文带你了解网页的灰色效果是如何实现的
一文带你了解网页的灰色效果是如何实现的
213 40
|
7月前
|
Web App开发 前端开发 异构计算
前端如何实现网页变灰功能?
前端如何实现网页变灰功能?
124 0
|
3月前
|
前端开发 JavaScript
前端JS控制网页复制粘贴
前端JS控制网页复制粘贴
|
7月前
如何利用 HBuilderX 制作图文混排的网页
如何利用 HBuilderX 制作图文混排的网页
296 3
|
7月前
为您的网站添加通用网站底部美化代码
为您的网站添加通用网站底部美化代码
187 1
为您的网站添加通用网站底部美化代码
|
7月前
|
网络协议 网络架构
你以为键入网址后只是等待吗?惊!原来网页显示背后隐藏着这些奇妙步骤(上)
当我们键入一个网址后,从键入网址到网页显示之间会发生许多复杂的步骤。这篇文章旨在详细解释这一过程,帮助读者深入了解HTTP、DNS和协议栈等相关知识。通过这篇文章,读者可以消除疑惑,也可巩固对网络通信的理解,从而更好地应用和利用互联网。
你以为键入网址后只是等待吗?惊!原来网页显示背后隐藏着这些奇妙步骤(上)
|
7月前
|
域名解析 缓存 网络协议
你以为键入网址后只是等待吗?惊!原来网页显示背后隐藏着这些奇妙步骤(中)
通过对TCP/IP协议的深入研究,我们可以更好地理解网络通信的整个过程,以及各个协议在其中的作用。这对于我们理解和解决网络通信中的问题非常重要。希望通过本文的学习,能够对TCP/IP协议有更深入的了解,并能够应用到实际的网络通信中。
你以为键入网址后只是等待吗?惊!原来网页显示背后隐藏着这些奇妙步骤(中)
|
7月前
|
缓存 网络协议 安全
你以为键入网址后只是等待吗?惊!原来网页显示背后隐藏着这些奇妙步骤(终章)
这篇文章简要介绍了计算机网络中交换机和路由器的工作原理,以及它们在网络通信和连接中的重要作用。交换机利用MAC地址表实现数据包的转发,而路由器则根据IP地址进行转发决策,将数据包从一个网络转发到另一个网络。通过交换机和路由器的协同工作,网络实现了高效的数据传输和通信。
|
Web App开发 前端开发
网页|如何实现网页变灰效果
网页|如何实现网页变灰效果
126 0
|
前端开发 开发者
网站都变灰了,几行代码可以实现
网站都变灰了,几行代码可以实现
132 0
网站都变灰了,几行代码可以实现