使用 CSS 变量的深色模式
什么是深色模式?
深色模式有哪些优势?
如何在网站上实现深色模式?
演示
使用此实施方案的项目
Smartapp
感谢阅读
什么是深色模式?
深色模式,也称为浅色底深色图案配色方案,是一种在深色背景上使用浅色文本、图标和图形用户界面元素的配色方案,经常在计算机用户界面设计和网页设计方面进行讨论。
深色模式背后的理念是,在保持可读性所需的最低色彩对比度的同时,减少设备屏幕发出的光。
深色模式有哪些优势?
- 使用设备时可以节省能源。
- 在光线较暗的环境下,可能有助于减轻眼部疲劳和眼睛干涩。
- 手机辐射减少
blue light——睡前使用手机可能会影响睡眠。
如何在网站上实现深色模式?
让我们从一个 HTML 框架、一个按钮、一个链接的样式表和一个脚本开始。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Dark Mode</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<button class="btn" id="toggleBtn">
Toggle Dark Mode
</button>
<script src="script.js"></script>
</body>
</html>
现在我们来解决主要问题。首先,我们将添加颜色的 CSS 变量(我们称它们为 `colors`primary和background`colors`),并在深色模式下覆盖所需的颜色。
:root{
--primary: #4240b4;
--background: #dddddd;
}
.dark{
--background: #222222;
}
html,
body{
background-color: var(--background);
}
.btn{
background-color: var(--primary);
}
因此,在 JavaScript 代码中,我们只需要切换 HTML 文档主体部分的类列表即可。
const body = document.querySelector("body")
const toggleBtn = document.querySelector("#toggleBtn")
toggleBtn.addEventListener("click", (e) => {
body.classList.toggle("dark")
})
演示
使用此实施方案的项目
Smartapp
网页应用:https://smartsapp-ba40f.firebaseapp.com
Smartapp
一款完全跨平台的即时通讯应用,支持端到端加密(E2EE)。
演示
注意:演示中展示的功能并不完整,仅展示了核心功能。
支持的平台
- 桌面系统: Windows、Linux、MacOS
- 移动设备: Android、iOS
- 网站:任何带有浏览器的设备
后端设置
该应用程序的后端由……处理Firebase。
基本设置
- 前往 Firebase 控制台并创建一个名为“”的新项目
Smartsapp
- 使能够
Google Analylitics
应用程序设置
App从概览页面为项目创建项目。
- 将配置信息复制并粘贴到指定位置(具体位置请参阅相应应用程序的自述文件)。
身份验证设置
- 前往项目
Authentication部分
- 选择选项
Sign-in method卡
- 启用
Email/Password并Google登录
Firestore 设置
- 前往项目
Firestore部分
- 为项目创建 Firestore 配置(选择离您位置最近的服务器)
- 前往
Rules……
感谢阅读
需要一位顶尖的软件开发自由职业者来解决您的开发难题吗?请通过Upwork联系我。
想看看我在做什么吗?请访问我的个人网站和GitHub。
想联系我?请在领英上联系我。
关注我的博客,即可在Medium上获取每两周更新的精彩内容。
常问问题
以下是一些我经常被问到的问题。希望这个常见问题解答部分能解答您的疑问。
-
我是新手,应该如何学习前端Web开发?
请参考以下文章:
- 前端热门词汇
- 前端开发路线图
- 前端项目构思
- 从初级前端开发人员过渡到中级前端开发人员
-
您愿意指导我吗?
抱歉,我已经工作很忙了,没有时间指导任何人。
文章来源:https://dev.to/ruppysuppy/dark-mode-using-css-variables-1m3