一行代码 网页变灰

背景

想必大家都感受到了,很多网站、APP 在昨天都变灰了。
先来感受一下变灰后的效果。
在这里插入图片描述
在这里插入图片描述

让网页变为黑白配色,是个常见的诉求。而且往往是突如其来的诉求,是无法预知的。
当发生这样的需求时,我们需要迅速完成变更发布。

这种灰色的效果怎么实现的呢?如何做到图片、文字、按钮都变灰的效果呢?


一行代码

这一行代码是个CSS代码:

filter: grayscale(1)

为了使整个网页生效,你可以把它放在 标签的样式里。直接写到 html 文件内,例如:

<style>
html {
  filter: grayscale(1);
}
</style>

也可以用内联样式,只要没用 important CSS 语法,内联样式优先级最高:

<html style="filter:grayscale(1)">
...
</html>

为了更好的兼容性,你可以补一个带 -webkit- 前缀的样式,放在 filter 后面:

<html style="filter:grayscale(1);-webkit-filter:grayscale(1)">
...
</html>

语法

grayscale(amount)

参数 :

转换值的大小,可以是<number> <percentage>.。当值为 100% 时,灰度最大。0% 时与原图没有区别。0% 到 100% 之间的值会使灰度线性变化。amount 为空时使用值为1。
.

例子 :

grayscale(0)     /* 无效果 */
grayscale(.7)    /* 70% 灰度 */
grayscale(100%)  /* 灰度最大 */

兼容性

在这里插入图片描述

如果你想获得更好的兼容性,可以加前缀 :

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

posted @ 2022-12-08 13:53  猫老板的豆  阅读(171)  评论(0编辑  收藏  举报