当前位置: 首页 > news >正文

将页面变灰

不知道还有多少人记得曾经为了悼念5·12汶川地震,很多网站都将页面中所有的图片以及文字变成灰色。彪叔曾经也做了一个工具“哀悼的CSS(网站变灰)2.0”,用来把网站变灰。

想想当初有多人为了这个事情而忙得不可开交,要把所有的图片在photoshop里去色,再到样式表中把所有的颜色值改成灰色,最后等过了时间之后又要恢复原状。其中也有一些网站仅仅是在IE浏览器中用了滤镜来解决,并没有去处理其他浏览器的。

html{filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}

今天发现其实也可以让Firefox和Chrome变成灰色,不过Opera和Safari没成功,暂时先不理会,有一点东西就先跟大家分享。首先来看一下正常的页面http://guangjs.com,好多漂亮的彩图;再看一下我把源码下载,添加了一行CSS样式后的效果(点这里查看)。

html {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: url(desaturate.svg#grayscale);
    filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
    -webkit-filter: grayscale(1);
}

大面积的操作降低页面性能是肯定的,这里分享这个也只是想跟大家说一下,最近我看到这个样式,感觉太厉害了。在这个样式代码中,涉及到了一个文件,就是desaturate.svg,从文件扩展名中可以看到,利用到了SVG技术了,代码如下:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<filter id="grayscale">
<feColorMatrix values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0  0  0  1 0" type="matrix" />
</filter>
</svg>

只需要将这代码保存为desaturate.svg,再通过url链接就可以了,十分简单。在前面看到的demo页面中是在body中增加了样式,影响页面中所有的元素,如果有需要的话,可以单独设置一个公共库中的类名来调用,如:

.pic_gray {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: url(desaturate.svg#grayscale);
    filter: gray;
    -webkit-filter: grayscale(1);
}

这样操作的话,可以让某个区域变成灰色,一切尽在你的掌握。

 

 

相关文章:

  • linux 查看进程和终止进程 端口
  • MYSQL错误:Can’t open file: ‘×××...'
  • 浏览器无法更新服务状态位。数据有错误
  • ubuntu开机画面的修改
  • Ubuntu 12.04忘记用户密码的解决办法
  • ubuntu 删除自带的游戏
  • Linux 下openOffice的安装
  • Linux下Openoffice乱码解决方法
  • MIME type类型
  • Ubuntu 安装字体方法
  • Ubuntu中查看网卡信息的基础知识
  • ubuntu装RTL8111/8168B网卡驱动
  • Ubuntu 12.04安装QQ for Linux
  • ubuntu 自定义分辨率
  • ubuntu12.04安装中文输入法(ibus)和开机自动启动ibus应用
  • ----------
  • css系列之关于字体的事
  • docker容器内的网络抓包
  • E-HPC支持多队列管理和自动伸缩
  • ES10 特性的完整指南
  • Facebook AccountKit 接入的坑点
  • Intervention/image 图片处理扩展包的安装和使用
  • JAVA_NIO系列——Channel和Buffer详解
  • Javascript编码规范
  • js ES6 求数组的交集,并集,还有差集
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • tensorflow学习笔记3——MNIST应用篇
  • 开发基于以太坊智能合约的DApp
  • 排序算法学习笔记
  • 如何使用 JavaScript 解析 URL
  • 微服务核心架构梳理
  • 《码出高效》学习笔记与书中错误记录
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (C++17) std算法之执行策略 execution
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (转)详解PHP处理密码的几种方式
  • (转载)PyTorch代码规范最佳实践和样式指南
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .net framework profiles /.net framework 配置
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET 中的轻量级线程安全
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .Net环境下的缓存技术介绍
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具