【html5/css3】网站变灰是如何实现

网站灰了是怎么回事? 一探究竟: 图片本身依然是彩色,但呈现是灰色,可判断为渲染导致的。通过审查元素,在当前元素上并没有发现特别的设置;于是一层层向上查找,最终在 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 的子属性.

    amount:转换值的大小,可以是number 或 percentage。 当值为100%时, 灰度最大。 0%时与原图没有区别。 0% 到 100% 之间的值会使灰度线性变化。amount 为空时会自动插入0。

兼容性

经验分享 程序员 微信小程序 职场和发展