【CSS样式】全国哀悼日页面一键变灰
五四全国哀悼日的时候,大多数网站都变灰了,很好奇是怎么做到的,因为不可能是把所有颜色相关的样式都改了的,于是在网上找到了答案。
本质样式:filter: grayscale(100%);
html { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -o-filter: grayscale(100%); -ms-filter: grayscale(100%); filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); _filter:none; }
顺便也看了几个我当天使用过的网站是怎么实现的,比如网易云音乐、力扣等等。
- 网易云音乐:需要修改两个html中的样式设置,为什么是两个?猜测应该是因为网易云的防爬机制,第二个html嵌套在第一个html里面,第二个html里包含很多页面信息,是通过js代码生成的html
filter: url(data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter i…0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale); -webkit-filter: grayscale(1);
- 力扣:在题目页面,分为header的div区域和body的div区域,需分别设置
-webkit-filter: grayscale(100%) !important; -moz-filter: grayscale(100%) !important; filter: grayscale(100%) !important;