为表达全国各族人民对抗击新冠肺炎疫情斗争牺牲烈士和逝世同胞的深切哀悼,国务院今天发布公告,决定2020年4月4日举行全国性哀悼活动。在此期间,全国和驻外使领馆下半旗志哀,全国停止公共娱乐活动。4月4日10时起,全国人民默哀3分钟,汽车、火车、舰船鸣笛,防空警报鸣响。
各大网站响应国家号召,将页面色调变为了灰色。作为一个技术仔,特别是前端技术仔必须一探究竟。
图片本身依然是彩色,但呈现是灰色,可判断为渲染导致的。通过审查元素,在当前元素上并没有发现特别的设置;于是一层层向上查找,最终在 html 上发现了 filter
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
将模糊或颜色偏移等图形效果应用于元素。通常用于调整图像,背景和边框的渲染。
CSS标准里包含了一些已实现预定义效果的函数。具体细则大家可查阅 mdn。
其中,grayscale(amount)
对图片进行灰度转换, 它是 filter-function
的子属性.
number
或 percentage
。 当值为100%时, 灰度最大。 0%时与原图没有区别。 0% 到 100% 之间的值会使灰度线性变化。amount 为空时会自动插入0。<img style="filter: grayscale(0)" src="./super前端.png">
<img style="filter: grayscale(0.5)" src="./super前端.png">
<img style="filter: grayscale(1)" src="./super前端.png">
百度、头条等网站均采用上述方式!
冬将尽,春可期,山河无恙,人间皆安