网站整体变灰(黑白、置灰)原理
一、前言 在很多时候我们需要把整个网站变灰,比如“汶川地震”。近日受降雨影响四川茂县突发山体高位垮塌,想起了曾经的汶川地震。来看看网站是如何实现整体变灰的。 二、CSS3 filter(滤镜) 属性 html{ -webkit-filter: grayscale(100%); /* Chrome, Safari, Opera */ filter: grayscale(100%); } filter 属性定义了元素(通常是<img>)的可视效果(例如:模糊与饱和度)。 浏览器支持: grayscale(): 将图像转换为灰度图像。值定义转换的比例。值为100%则完全转为灰度图像,值为0%图像无变化。值在0%到100%之间,则是效果的线性乘子。若未设置,值默认是0。 来看一下效果: 可以看到,网页中的图片、css样式、视频都已经变灰。 三、IE浏览器 上面所说的css3属性IE浏览器并不支持,其实这样做已经覆盖了大部分浏览器 filter: gray; 这个属性直接加载html上是不管用的,如果需要图片变灰可以只将样式作用于img标签,或者用*通配符作用于所有元素,这样整个网站就会变灰。 经测试,在IE7-9都是没问题的,IE9以上不能生效。 四、通用方案 如果你执意所有的浏览器都有这个效果,可以通过Greyscale.js实现: 在页面引入js文件: <script src=