大家看到网站的内容都变成了灰色,包括按钮、图片等等。这时候我们可能会好奇这是怎么做到的呢? 有人会以为所有的内容都统一换了一个CSS样式,图片也全换成灰色的了,按钮等样式也统一换成了灰色样式。但你想想这个成本也太高了,而且万一某个控件忘记加灰色样式了岂不是变成生产事故要扣奖金了。解决方案很简单,只需要几行代码就能搞定了。F12看下各大网站怎么实现的。 百度: 百度 京东: 京东 今日头条: 今日头条 慕课网: 慕课网 给大家总结出一段规范的代码,把这段代码加入网站页面的CSS里面即可实现页面变成灰色的效果: 规范代码 filter是滤镜的意思,filter:gray的意思就是说给页面加上一个灰度的滤镜,所以html里面的所有内容都会变成黑白的了。不过这个滤镜对于chrome和safari浏览器是无效的,所以下面会有一行webkitfilter:grayscale(100);扩展:CSS3filter(滤镜) 一、blur(px)高斯模糊 给图像高斯模糊。如果没有设定值,则默认值是0;这个参数可设置css长度值,不接受百分比值img{webkitfilter:blur(5px);Chrome,Safari,Operafilter:blur(5px);} 二、brightness()亮度 使图像看起来更亮或更暗。值是100,图像无变化,超过100,变亮,小于100,变暗。filter:brightness(150) 三、contrast()对比度filter:contrast(200) 四、dropshadow(xyblurspeedcolor)阴影效果filtershadow:(50px50px5pxtomato) 与boxshadow效果上有显著的区别 五、grayscale()灰度filter:grayscale(100) 六、huerotate()色相旋转filter:huerotate(100) 七、invate() 反转输入图像。值为100是完全反转。值为0则图像无变化。0100之间,则是效果的线性乘子。filter:invate(100) 八、opacity() 转化图像的透明度。值为0则是完全透明。值为100则图像无变化filter:opacity(100) 九、saturate() 转换图像的饱和度。值为0则是完全不饱和,值为100则图像无变化。值允许大于100,会有更高的饱和度。filter:saturate(100) 十、sepia() 将图像转为深褐色。值为100则完全是深褐色img{webkitfilter:sepia(100);Chrome,Safari,Operafilter:sepia(100);} 十一、复合函数 使用多个滤镜,每个滤镜使用空格分割。 注意:顺序是非常重要的(例如使用grayscale()再使用sepia()将产生一个完整的灰度图片)img{webkitfilter:contrast(200)brightness(150);Chrome,Safari,Operafilter:contrast(200)brightness(150);}filter效果示例:。blur{webkitfilter:blur(4px);filter:blur(4px);}。brightness{webkitfilter:brightness(0。30);filter:brightness(0。30);}。contrast{webkitfilter:contrast(180);filter:contrast(180);}。grayscale{webkitfilter:grayscale(100);filter:grayscale(100);}。huerotate{webkitfilter:huerotate(180deg);filter:huerotate(180deg);}。invert{webkitfilter:invert(100);filter:invert(100);}。opacity{webkitfilter:opacity(50);filter:opacity(50);}。saturate{webkitfilter:saturate(7);filter:saturate(7);}。sepia{webkitfilter:sepia(100);filter:sepia(100);}。shadow{webkitfilter:dropshadow(8px8px10pxgreen);filter:dropshadow(8px8px10pxgreen);} filter效果示例