写点什么

一行代码实现黑暗模式

2020 年 10 月 15 日

一行代码实现黑暗模式

其实黑暗模式可以用一行代码来实现。我们看看具体是怎么做到的。🤔


以这个模板为例🖥



现在添加神奇的 CSS


html[theme='dark-mode'] {    filter: invert(1) hue-rotate(180deg);}
复制代码


就这些!你搞定了✌



黑暗模式完成,但其实有点不合适。


说明


现在我们试着看看幕后发生了什么。


filter 这个 CSS 属性将模糊或颜色偏移等图形效果应用于某个元素。这些滤镜通常用于调整图像、背景和边框的渲染。



对于这种黑暗模式,我们将使用两个滤镜,分别是 invert 和 hue-rotate


invert 滤镜用来反转应用程序的配色方案。也就是说黑色会变成白色,白色变成黑色,所有颜色以此类推。invert() 函数作为 filter 属性的值将取 0 到 1 之间的数字,或 0%到 100%的百分比。


hue- rotate 滤镜可以帮助我们处理所有非黑色和白色的颜色。它能将色相旋转 180 度,让我们可以确保应用程序的配色方案不变,而只是减弱其颜色。



使用这种方法的唯一陷阱是,它还将反转应用程序中的所有图像、图片和视频。因此,我们将向所有图像添加相同的规则以反转效果。


html[theme='dark-mode'] img,picture,video{    filter: invert(1) hue-rotate(180deg);}
复制代码


并且我们要添加一个类,以反转特定标签内的效果。


.invert {    filter: invert(1) hue-rotate(180deg);}
复制代码


结果🧑‍🧑



这样我们就成功实现了黑暗模式。


BBulma 和 Bulma 的模板是基于 Flexbox 的免费开源 CSS 框架。


原文链接


Dark Mode with only 1 CSS PROPERTY


2020 年 10 月 15 日 10:581448
用户头像
小智 InfoQ 主编

发布了 397 篇内容, 共 308.8 次阅读, 收获喜欢 1721 次。

关注

评论

发布
暂无评论
发现更多内容

程序员陪娃漫画系列——看医生

孙苏勇

生活 程序员人生 陪伴 漫画

运维 Harbor 镜像仓库的法宝:Operator

亨利笔记

Kubernetes 容器 k8s Harbor operator

除了负载均衡的算法,你还应该知道这些

松花皮蛋me

Java 负载均衡 分布式

ZGC都出来了,你还不懂G1?

岁月安然

G1 JVM

死磕Java并发编程(4):happens-before是什么?JMM最最核心的概念,看完你就懂了

七哥爱编程

Java Java并发 happens-before JMM

不以涨工资为目的的技术学习,都会以失败而告终

陆陆通通

程序员 面试 涨薪

Harbor和Dragonfly双剑合璧 打造容器镜像运维新模式

亨利笔记

容器 k8s Harbor dragonfly 镜像

“消灭你,与你无关”——阿里巴巴的风险 | 旧文重发

赵新龙

阿里巴巴 风险 蒋凡 IPO

我为什么选择infoq写作平台

三爻

Golang 真的好用吗?

极客时间

golang 编程语言

vSphere 7融合Kubernetes,构建现代化应用的平台

亨利笔记

Kubernetes 容器 云原生 k8s vSphere

回"疫"录(3):让人怀念的普通一天

小天同学

疫情 回忆录 现实纪录 纪实

爱他,就让他走?

Selina

团队管理 领导力 团队协作

批注MYSQL开发规范,助你了解其背后的“道”

三石

数据库规范 规范背后的原理 白话规范

我不是怕表错态,而是怕我会不自觉地捍卫它

池建强

个人成长

祝这些不要脸的王八蛋同行家里着火

二爷

回"疫"录(4):见证历史

小天同学

疫情 回忆录 现实纪录 纪实

在谈判中,你有哪些属于自己的独特的方法和技巧?

Yolanda

从【炉石传说】到矩阵运算

Tango

Python 学习 矩阵 数学

世界知识产权日碎碎念

尹晓铁

成长 随笔 知识产权

程序员5分钟:你了解32位带符号的整型吗?

顾仲贤

程序员

程序员都应该了解的运维知识经验

松花皮蛋me

DevOps 分布式 运维

像产品设计一样思考、像程序运行一样执行

水色

“WHY-HOW-WHAT”这个被誉为伟大的领袖如何激励行动的黄金圈法则,非常值得大家学一学!

数列科技杨德华

思维方式

OpenCV 在 Android 上的应用

fengzhizi715

android OpenCV 计算机视觉

前端如何搞监控总结篇

大前端洞见

前端监控 监控 全链路监控

程序员5分钟:你的程序占用了多少内存?

顾仲贤

程序员

微信朋友圈为什么没有阅读数?

彭宏豪95

微信 产品 产品设计

Java并发编程系列插曲——对象的内存结构

孙苏勇

Java 内存模型 面向对象 ClassLayout

别总说CMS、G1,该聊聊ZGC了

猿人谷

CMS G1 ZGC JVM

决定我们认知深度的究竟是什么?

石君

深度思考 方法论 连接

NLP领域的2020年大事记及2021展望

NLP领域的2020年大事记及2021展望

一行代码实现黑暗模式-InfoQ