如何实现网站首页变为黑白色?

news2024/12/22 19:30:43

某些时候,网站会根据要求将页面调成黑白色,一开始我还以为是将连夜把图片和文字都搞成黑白色,但是转念一想,像推送产品的京东、淘宝,以及展示up内容的B站、CSDN等,刷新之后可能展示的内容均不同,作为一个前端程序猿,瞬间引起了我的好奇,那么他们是如何做到的呢?

首先看一下CSDN?

看了下CSDN页面的源代码,发现有如下样式设置:

 html {
    -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);
 }
 body{
    filter:gray; /*ie9- */
    background : none!important;
 }
      

 查阅了下MDN上关于css的filter属性,

filter属性可以将模糊或颜色偏移等图形效果应用于元素,可以用于调整图像、背景和边框样式;

The filter CSS property applies graphical effects like blur or color shift to an element. Filters are commonly used to adjust the rendering of images, backgrounds, and borders.

其中grayscale函数就被用来改变图像灰度,参数值可以是0-100%或0-1,值为1或100%表示完全转换为灰度图像;若未设置值,默认为0

filter: grayscale(50%); // 将灰度值设置为50%

 看来CSDN程序员们是将灰度值调成了100%,从而实现了完全黑白的效果;

再来看一下B站?

查看源代码发现,B站的根元素上定义了gray类,也定义了样式filter属性的grayscale灰度值为0.85:

将灰度值改掉后,发现轮播图还是黑白色,点击轮播图图片发现是把这四张轮播图换成了黑白色图片进行展播;

 再来看看淘宝和京东?

也是简单粗暴的直接定义了100%的灰度值(对于轮播图的处理没做特殊处理);

 京东也是同样的处理:

通过以上各大网页的展示,我们可以得出结论,通过设置

                                filter: grayscle()

可以将首页变为黑白色,而不用费劲的将每个元素一一修改成黑白色~

补充下filter属性的其它用途:

filter: blur(20px);  //  为图像设置高斯模糊,默认为0,值越大越模糊

filter: brightness(2); // 为图像设置线性乘法器,使其明亮,默认1,值为0表示全黑,值大于1提供更明亮的效果

filter: contrast(200%);  //  设置图像的对比度,默认是1,值为0表示全黑,值超过100%表示更低的对比

filter: drop-shadow(offset-x offset-y blur-radius color); // 前两个参数必选

filter: drop-shadow(16px 16px 20px yellow); // 为图像设置阴影效果,设置值与box-shadow属性相似

filter: hue-rotate(90deg); // 为图像设置色相旋转,默认为0deg,超过360deg默认绕一圈回到初始; 

 filter: invert(1);  // 反转图像,默认为0,值为100%表示完全反转

filter: opacity(25%);  //  设置图像的透明程度,默认为1,值为0表示完全透明

filter: saturate(30%); // 设置图像饱和度,默认为1,值为0表示完全不饱和,超过1表示更高的饱和度 

 filter: sepia(100%); //  将图片转换为棕褐色,默认为0,为1表示完全是深褐色 

当然也可以使用任意的组合完成想要的效果:

filter: contrast(175%) brightness(103%) // 设置图片的对比度为1.75、明亮度设置为1.03

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/53981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从上帝视角认识SpringMVC预览

前言 SpringMVC提供了很多可拓展的组件,例如:参数解析器、拦截器、异常处理器等等。但是如果想要理解/找到这些组件工作的位置/时机,很多时候总是容易迷失在其层层调用的源码之中。因此才想从上帝视角来剖析它。而所谓上帝视角,就…

[附源码]Python计算机毕业设计Django海南琼旅旅游网

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

22.12.1打卡 漫步校园 记忆化搜索

题目里很显然只走最短路, 直接用bfs从终点到起点搜一遍将每一步到终点所需要的最短的时间存在一个dis数组中, 然后你就会发现原来的地图变成了这样 上面是地图下面是dis数组, 再看看经典记忆化搜索模板题滑雪的地图 对的, 非常地相似, 接下来的操作和滑雪基本一样, 只不过起点是…

SQL创建新的输出字段

SQL创建新的输出字段1、准备数据2、对单个字段或者多个字段进行数值计算3、数值计算4、字段拼接5、字段使用别名6、 CASE WHEN逻辑转换case when 语法一case when 语法二case when 注意点查询的值可以为任何值(例如可以: select *)可以重命名…

Docker 快速安装Jenkins完美教程 (亲测采坑后详细步骤)(转)

转载至:https://www.cnblogs.com/fuzongle/p/12834080.html Docker 快速安装Jenkins完美教程 (亲测采坑后详细步骤) Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作&#xff0…

组织:阿米巴-事业部-成员公司

昨天有朋友讲到阿米巴-内部交易的成本与效率、讲到乌合之众山头团伙合并财报。昨天也都谈到方向大致正确品质大致不错极低规模成本、方向老钻错牛角尖品质精密高成本。我这篇文章就是:群中单句交流-朋友圈提炼段落-公众号整理成文章,这么来的。阿米巴&am…

从零开始带你实现一套自己的CI/CD(一)Jenkins

目录一、简介二、环境准备2.1 安装Docker和Docker-compose2.2 远程仓库Github/Gitee/GitLab2.3 部署Jenkins三、配置Jenkins3.1 Jenkins配置源码拉取地址3.2 Jenkins配置Maven构建代码3.2.1 准备jdk3.2.2 配置Maven3.2.3 Jenkins配置JDK&Maven并保存3.3 配置Jenkins任务构建…

【日常折腾】重新安装Windows7,做好ghost备份,迁移主目录,日常软件office,chrome,搜狗输入法,电脑管家,一键ghost进行备份。

目录前言1,关于Windows2,电脑起码分两个盘c、d盘3,因为主目录切换了,相关的其他人软件的数据都会迁移过去4,安装office软件3件套,不要全家桶5,安装电脑管家,还是选择腾讯吧6&#xf…

17条卢松松近期言论汇总

我是卢松松,点点上面的头像,欢迎关注我哦! 本文汇集了前段时间卢松松写的段子,有心情感悟、工作感悟、做直播带货、创业的感悟。关注互联网、草根创业者的朋友可以看看! (1) 人最舒服的是什么时候呢?我认为&#xff…

RabbitMQ的工作模式

一.RabbitMQ的一些知识 1.消息属性 RabbitMQ是基于AMQP消息传输协议来实现的消息中间件;类似HTTP有header和body两部分数据,Message是RabbitMQ中的消息体概念。 Message由Properties和Body组成,前者是一些元信息,如消息的优先级…

【LeetCode】1769.移动所有球到每个盒子所需的最小操作数

题目描述 有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes ,其中 boxes[i] 的值为 ‘0’ 表示第 i 个盒子是 空 的,而 boxes[i] 的值为 ‘1’ 表示盒子里有 一个 小球。 在一步操作中,你可以将 一个 小球从某个盒子移动到一个与之相邻的…

整理Ubuntu深度学习服务器初始化操作

前言 这两年总是换服务器,每次配置都挺麻烦的要搜一堆东西,干脆直接整理一下供自己以后参考。 版本说明 Ubuntu 20.04 桌面版 系统配置 配置SSH 安装ssh sudo apt update sudo apt install openssh-server检查ssh状态 sudo systemctl status ssh…

js将图片或者文件转成base64格式的两种方法

场景一,项目assets资源里面的图片本地图片,重点如下 需要了解 canvas的基本操作,canvas.toDataURL 方法 HTMLCanvasElement.toDataURL() 方法返回一个包含图片展示的 data URI 。可以使用 type 参数其类型,默认为 PNG 格式。图片…

session和cookie的区别

文章目录一概念理解1、无状态的HTTP协议:2、会话(Session)跟踪:二cookie1、会话Cookie和持久Cookie2、Cookie具有不可跨域名性三. Session1、两个问题:2、session的创建:3、禁用cookie:四. 总结…

GIS工具maptalks开发手册(二)01-02之GeoJSON转化为Geometry——渲染点

GIS工具maptalks开发手册(二)01-02之GeoJSON转化为Geometry——渲染点 效果 1、html官方版 <!DOCTYPE html> <html> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1"> <t…

c实现mp4解封装

文章目录前序MP4简介MP4的定义MP4的封装格式Box类型详解Box格式ftyp boxmvhd boxtkhd boxhdlr boxmdat boxstbl boxstsd boxstco boxstsc boxstsz boxstts boxstss boxdemuxer demo的实现(视频数据部分)总结&#xff1a;工具介绍源码参考前序 最近为了更加深入了解音视频demux…

nginx源码分析--基数树

typedef struct {ngx_radix_node_t *root;ngx_pool_t *pool;ngx_radix_node_t *free;char *start;size_t size; } ngx_radix_tree_t;预备知识 1.基数树也是一种二叉查找树,目前官方模块中仅geo模块使用了基数树.2.ngx_radix_tree_t基数树要求…

微服务框架 SpringCloud微服务架构 8 Gateway 网关 8.7 网关的cors 跨域配置

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构8 Gateway 网关8.7 网关的cors 跨域配置8.7.1 跨域问题处理8.7.2 案例8.7.…

深入讲解Netty那些事儿之从内核角度看IO模型(下)

接上文深入讲解Netty那些事儿之从内核角度看IO模型&#xff08;上&#xff09; epoll 通过上边对select,poll核心原理的介绍&#xff0c;我们看到select,poll的性能瓶颈主要体现在下面三个地方&#xff1a; 因为内核不会保存我们要监听的socket集合&#xff0c;所以在每次调用…

最全面的Spring教程(六)——WebSocket

前言 本文为 【SpringMVC教程】WebSocket 相关知识介绍&#xff0c;具体将对WebSocket进行简介&#xff0c;并通过实战案例对WebSocket的使用进行详尽介绍~ &#x1f4cc;博主主页&#xff1a;小新要变强 的主页 &#x1f449;Java全栈学习路线可参考&#xff1a;【Java全栈学…