1. 文章引言
有段时间,我们打开知名的网页,发现全部变成黑白色了,如下图所示:
一般在清明节,全国哀悼日,大地震的日子,以及一些影响力很大的伟人逝世或纪念日的时候,身为站长的我们都会让自己的网站的全部网页变成灰色(黑白色),以表示我们对逝者的悼念。那么今天就说说,通过几行简单的代码,来实现这个功能。
首先,我需要创建test.html
文件(网页),如下代码所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试网页黑白色</title>
<style type="text/css">
div {
width: 200px;
height: 200px;
border: 1px red solid;
background-color: blue
}
p {
color: red;
font-size: 30px
}
</style>
</head>
<body>
<div></div>
<p> 相信未来更美好</p>
</body>
</html>
效果如下所示:
2. 实现方法
我们可以通过如下方法,来实现test.html
网页的黑白色。
2.1 修改CSS文件
我们可以在网页中加入如下代码:
<style type="text/css">
html {
filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
-webkit-filter: grayscale(100%);
}
div {
width: 200px;
height: 200px;
border: 1px red solid;
background-color: blue
}
p {
color: red;
font-size: 30px
}
</style>
2.2 修改html标签
修改<html>
标签,加入内联样式
<!DOCTYPE html>
<html lang="en" style="filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
-webkit-filter: grayscale(100%);">
......
</html>
2.3 修改body标签
给body
标签加样式
body *{
-webkit-filter: grayscale(100%); /* webkit */
-moz-filter: grayscale(100%); /*firefox*/
-ms-filter: grayscale(100%); /*ie9*/
-o-filter: grayscale(100%); /*opera*/
filter: grayscale(100%);
filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
filter:gray; /*ie9- */ /* 但是这行代码是为了兼容IE, 虽然一行代码很少, 但是效果并不好, 而且网页比较卡, 不推荐使用[即删除,], 同时发现, csdn, 京东, 淘宝也都没有兼容IE11浏览器 */
}
2.4 使用grayscale.js插件
这个插件是模拟IE
的filter:progid
方法,支持IE、Safari、Chrome、Opera、Firefox
等浏览器。
grayscale.js
插件源文件:http://cn.baiwanzhan.com/js/gray_baiwanzhan.js
使用方法如下:
window.οnlοad=function(){
grayscale(document.body);
}
但这个在IE
下挺占资源。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99111.html