将网站切换到暗黑模式的 3 个超级简单的方法

2025-06-10

将网站切换到暗黑模式的 3 个超级简单的方法

正如臭名昭著的达斯·维达曾经说过的那样:“你不知道黑暗面的力量。” 2019年,黑暗模式席卷了我们的应用程序,维达也得到了应有的惩罚,而这股热潮至今仍未见顶。从Instagram到YouTube,我们钟爱的应用程序纷纷加入这股潮流,西斯的胜利指日可待。

什么是黑暗模式?

对于那些喜欢技术术语的人来说,维基百科将暗模式定义为“在深色背景上使用浅色文本、图标和图形用户界面元素的配色方案”。

简而言之,黑暗模式正如其名:为你的应用提供一个更暗的主题界面。然而,它的意义远不止于哥特式的设定。

黑暗模式为何如此流行?

  • 谁不喜欢高大、“黑暗”的陌生人呢?黑暗模式自带一种独特的美感,魅力十足,令人倾倒;和谐统一,绝非千变万化。
  • 对于在屏幕前度过的时间比人类还多的一代人来说,暗黑模式对眼睛的伤害微乎其微。愿上帝保佑你的眼睛!
  • 它有助于维持用户的昼夜节律。
  • 最后,它耗电更少。这才是关键,不是吗?

有哪些方法可以将您的网站切换到黑暗模式?

“准备好了,你准备好了”,让我们来看看为网站实现暗模式的三种简单方法。

1. 检查操作系统级别的偏好设置

在深入探讨细节之前,务必检查操作系统的参数。例如,某些 Android 版本的 Whatsapp 允许用户切换到夜间模式,而 iOS 设备上的应用默认设置是暗黑模式。在添加暗黑主题的代码之前,应该考虑到这一点。以下是实现暗黑主题的 CSS 和 Js 代码。

使用 CSS

/* Light mode */
@media (prefers-color-scheme: light) {
body {
background-color: #fff;
color: black;
}
}
/* Dark mode */
@media (prefers-color-scheme: dark) {
body {
background-color: #000;
color: white;
}
}
/* Light mode */
@media (prefers-color-scheme: light) {
body {
background-color: #fff;
color: black;
}
}
/* Dark mode */
@media (prefers-color-scheme: dark) {
body {
background-color: #000;
color: white;
}
}

如果需要Js检测的话,请编写代码

if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
// dark mode
}
if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
// dark mode
}

2. 根据一天中的时间选择主题

在这个追求便利的时代,完全启用暗黑模式可能并不适合您网站的用户。使用一个与时间同步的主题,您的网站将焕然一新。这样,早起的鸟儿得到了照顾,夜猫子也得到了照顾!保持这种自然平衡才是明智之举。

下面的代码是一个很好的起点。

function returnThemeBasedOnTime(){
const date = new Date()
const hour = date.getHours()
if (hour < 5 || hour > 20) return 'dark'
else return 'light'
}
function returnThemeBasedOnTime(){
const date = new Date()
const hour = date.getHours()
if (hour < 5 || hour > 20) return 'dark'
else return 'light'
}

3. 让访客手动选择主题

俗话说,“情人眼里出西施”。并非所有人都能适应深色主题,如果您启用在两种主题之间切换的选项,将对您有所帮助。想象一下,一位远视的叔叔在夜间模式下浏览您的网站,会是怎样的困境。

以下小部件是一个工作示例


浏览器支持

我们都曾面临过这种情况。

打开在旧版本中创建和修改的附件时,会出现令人困扰的兼容性问题。上述代码也存在同样的问题,因为它可能无法在某些版本或不同的浏览器中运行。为了帮助您解决问题,下表概述了这方面的问题。

偏好颜色方案浏览器支持

黑暗模式将会继续存在,至少在绝地武士以新格式崛起之前。

以上三种方法绝对可以提升您网站的吸引力。如果您想了解更多关于夜间模式及相关主题的信息,这里有一些链接供您参考!

在那之前,愿原力与你同在!🖖


最初发表于https://vishnubaliga.com

链接链接 https://dev.to/vishnubaliga/3-insanely-simple-ways-to-switch-your-website-to-dark-mode-3l7d
PREV
你必须知道的 7 个 React Hooks
NEXT
什么是设计模式?:又一篇文章