致敬英雄,共悼逝者,css 让页面变黑白

壹 ? 引

今天是四月四日清明节,也是全国哀悼抗疫烈士的一天。细心的同学可以发现,不仅是娱乐活动以及游戏全部停止,当我们打开各大门户网站,网站页面也都变成了黑白,那么具体怎么做呢,这里可以借用CSS3 的 filter滤镜属性,一个最简单的设置:

html {
    -webkit-filter:grayscale(100%);
    filter: grayscale(100%);
}

由于是CSS3属性,所以自然会存在兼容问题,我们通过can i use查阅,可以看到该属性对于IE等老旧浏览器并不友好。

当然,网上也有提供一个兼容其它浏览器的较全版本,如下:

html{
    filter: gray;
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\‘http://www.w3.org/2000/svg\‘><filter id=\‘grayscale\‘><feColorMatrix type=\‘matrix\‘ 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\‘/></filter></svg>#grayscale");
    filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
    -webkit-filter: grayscale(1);
}

简单说一下,这一段代码中,filter:url("data:image...这一段主要针对svg图片进行解码与颜色填充达到修改颜色的目的。

filter:progid:DXImageTransform.Microsoft.BasicImage()此行代码为IE自己提供的滤镜实现,性能不太友好。

作为参考,我查阅了腾讯视频,哔哩哔哩,开源中国等网站对于黑白效果的实现。

哔哩哔哩的简单粗暴,仅一行代码,当然针对于头部图片素材则是单独替换的黑色图片,并非通过样式修改:

html{
    webkit-filter: grayscale(.95);
}

腾讯视频使用代码如下,且在IE浏览器表现良好:

html{
    filter: gray;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}

而开源工作使用的就是我上面提到的那一大段样式了。

综合来说,上述代码能解决大部分情况,但网站不同,所展现的内容也不尽相同,可能还有视频,flash情况,特殊情况就只能针对性去处理了。

另外,如果样式实在搞不定的,我们也可以通过JS来代劳处理页面颜色展现,例如 grayscale.js等。

关于让页面变黑白的样式就说道这里了,其实也只是个简单记录。

原文地址:https://www.cnblogs.com/echolun/p/12630648.html

时间: 2024-10-28 19:58:28

致敬英雄,共悼逝者,css 让页面变黑白的相关文章

html div+css做页面布局

http://blog.csdn.net/mercop/article/details/7882000 HTML CSS + DIV实现整体布局 1.技术目标: 开发符合W3C标准的Web页面 理解盒子模型 实现DIV+CSS整体布局 2.什么是W3C标准? W3C:World Wide Web Consortium,万维网联盟    W3C的职能:负责制定和维护Web行业标准    W3C标准包括一系列的标准: HTML内容方面:XHTML 样式美化方面:CSS 结构文档访问方面:DOM 页面

XHTML+CSS基础知识(四):用CSS控制页面

1.CSS写入页面的方法有哪些? 行内式:直接在标签当中利用style属性来写样式表. 内嵌式:将所有的样式表提取出来放到网页头部的style标签当中. 链接式:将样式表单独写成一个.css文件,利用link标签在网页头部引用,W3C标准推荐. 导入式:利用@import来引入样式表,由于效率等等问题已经被淘汰 2.CSS样式表的优先级? 理论上:行内样式>内嵌样式>链接样式>导入样式 实际上:就近原则,内嵌.链接.导入在同一个文件的头部,谁距离相应的代码近,谁的优先级别就更高一些.相当

页面定制CSS代码初探:页面变宽 文本自动换行 图片按比缩放

一.初识博客 初写博客,先在设置里选了个喜欢的模板 第一眼就爱上了呢!那极简的风格,我喜欢!!但是,应用后,却发现... 纳尼!模板上右侧那张漂亮的图片呢?!我的怎么什么都没有.没有图片好难看啊,瞬间无爱了,设置里找了下,->博客侧边栏公告 <-,在这里,放了张宽200px的图,好看多了马上,还是有图才不会那么单调~ 二.认识CSS 过了几天,打算写篇博,发现了一个重大的问题,怎么默认的宽度这么窄?那我放图片怎么办,而且,2边留那么多空白不浪费吗,留个5%就够了吧.于是乎,开始了2天的全折腾.

CSS 隐藏页面元素的 几 种方法总结

用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 display 设为 none 或者将 position 设为 absolute 然后将位置设到不可见区域. 你有没有想过,为什么我们要有这么多技术来隐藏元素,而它们看起来都实现的是同样的效果?每一种方法实际上与其他方法之间都有一些细微的不同,这些不同决定了在一个特定的场合下使用哪一个方法.我们只需要记住的细小不同点,根据不同情况选择上面这些方法中适合的方法来隐藏元素. d

CSS隐藏页面元素方法

一.css隐藏页面盒子 overflow:hidden;   隐藏盒子超出的部分,溢出隐藏 position:absolute; /left/top...-999px;  将位置设到不可见区域,隐藏盒子,而且占位置. opacity:0;  隐藏盒子   隐藏之后还占据原来的位置. visibility:hidden;   隐藏盒子    隐藏之后还占据原来的位置. display:none;        隐藏盒子    隐藏之后不占据原来的位置. display:block;       元

JS以及CSS对页面的阻塞

一.JS阻塞 所有的浏览器在下载JS文件的时候,会阻塞页面上的其他活动,包括其他资源的下载以及页面内容的呈现等等,只有当JS下载.解析.执行完,才会进行后面的 操作.在现代的浏览器中CSS资源和图片image资源是并行下载的,在IE6中默认的并行的加载数目是2个,在IE6以后以及其他的浏览器中的默认的并行加载数目是6个. 在浏览器从服务器接收到HTML文档后,并把HTML在内存中转换为DOM树,在转换节点的过程中如果引入了CSS文件以及添加了images,则会在文档加载的同时并行的加载CSS文件

使用Div + CSS布局页面

在设计网页时,能够控制好各个模块在页面中的位置是非常关键的.本章将讲解利用Div+CSS对页面元素进行定位的方法. Div是HTML中指定的专门用于布局设计的容器对象 Div是CSS布局的核心对象. Div本身与样式没有任何关系,样式需要编写CSS来实现,因此Div对象应该说从本质上实现了与样式的分离.(最终样式由CSS来完成) 无论是多么复杂的布局方法,都可以使用Div之间的并列与嵌套来实现. 为了实现内容与表现的分离,不应当将align对齐属性与style行间样式表属性编写在Div标签中,因

用 CSS 隐藏页面元素

用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0 将 visibility 设为 hidden 将 display 设为 none 将 position 设为 absolute 然后将位置设到不可见区域. Opacity,占据网页布局,可以交互,读屏软件可以读到它  opacity 属性的意思是设置一个元素的透明度.它不是为改变元素的边界框(bounding box)而设计的.这意味着将 opacity 设为 0 只能从视觉上隐藏元素.而元素本身依然占据它自己的位置并对网

变态ie6之要求css与页面编码一致引发的问题

今天遇到了一个问题.某说有个页面可能标签有问题,我用各种ie和狐火打开一看,只有ie6不正常. 正常情况下应该是这样滴, 而在ie6下运行却是这样滴, 一看之下就断言是ie6又不兼容某种样式怎么滴,然后在那儿傻找原因.不对啊,这个页面时抠取的,样式都一样啊,然后我再仔细和原样式比对,真的找不出问题. 关键是在ie6下运行它始终报js错误, 我索性注释掉js,可还是报这个错.然后去网上找报这个错的原因,乱七八糟的. 后面一想不对啊,是整个这一块的样式都没加载,不是某一处啊.然后去网上找ie6下样式