疫情还在肆虐,作为一个人性化、大平台网站,如何在全民悲痛时刻显示出本网为民

一句css,让全站变灰


如下图
在这里插入图片描述
在这里插入图片描述

可看出这个样式有起作用,而且是全局的效果

*[HTML]:   兼容性不太友好
-webkit-filter: grayscale(.95);
html {
    *[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);
}

总结:所以可以通过这个样式实现全局变灰的效果

分析:
这个样式名叫做 filter,搜下 MDN 的官方介绍,其链接为:
filter样式官网

官方介绍内容如下:
在这里插入图片描述
比如这里通过 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%);

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

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

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

filter: blur(radius)

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

可以达成这样的效果:
在这里插入图片描述
再说回刚才的灰色图像,这里其实就是设置了 grayscale,其用法如下:

filter: grayscale(percent)

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

如:

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

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐