CSS变量实现暗黑模式的示例代码

时间:2021-05-08

最近微信被苹果逼的开发了暗黑模式 ,越来越多的网站和应用开始支持了暗黑模式,许多人也喜欢为网站选择暗模式,也许他们更喜欢这样的外观,或者他们想让自己的眼睛免受疲劳。 这篇文章将告诉你如何实现一个自动的 CSS 暗模式,根据你的访客的主题来改变。

我在自己的博客页面 我的小铺 [1] 页面实践了一下用 CSS变量 和 @media查询 实现暗黑模式。

CSS Dark Mode

我定义了变量以设置主题的颜色,我建议你也这样做,因为这样会使这个过程容易得多。我的默认模式的颜色变量如下:

:root { --accent: #226997; --main: #333; --light: #666; --lighter: #f3f3f3; --border: #e6e6e6; --bg: #ffffff;}

如果你想在你的样式表中使用这些变量,你可以这样做:

p { color: var(--main);}

这样,如果您想更改主题的颜色,则只需修改定义的变量,所有使用该变量的内容都会更新。

现在我们需要定义一组新的变量,这些变量将在调用 CSS 暗模式时使用。

:root { --accent: #3493d1; --main: #f3f3f3; --light: #ececec; --lighter: #666; --border: #e6e6e6; --bg: #333333;}

添加 Dark 式支持

现在,我们定义了两组变量,剩下要做的惟一一件事就是将 preferences -color-scheme 媒体查询添加到我们的 dark 变量中。

带上 Dark 颜色变量并在下面添加 @media 查询 :

@media (prefers-color-scheme: dark) { :root { --accent: #3493d1; --main: #f3f3f3; --light: #ececec; --lighter: #666; --border: #e6e6e6; --bg: #333333; }}

就是这样!如果有人使用深色操作系统主题并访问您的网站,您的网站现在将自动切换到黑暗模式。

我相信您会希望测试这种更改是否有效。为此,您可以简单地在操作系统上启用一个 dark 主题,例如 iOS dark 主题。

或者,如果你不想在你的操作系统主题上浪费时间,你可以在 Firefox 中强制执行这个测试。方法如下:

打开 Firefox,然后在地址栏中键入 about:config ,然后按 Enter。

你将被要求承担风险,接受它。

在搜索栏中,搜索 ui.systemUsesDarkTheme 。 将复选框更改为 number 并单击 + 符号。 将值更改为 1 并单击 tick 按钮。

现在页面应该变黑。

回到您的网站,主题应该已自动更新为黑暗模式。

如果您想要测试它是否切换回来,请将值更改为 0 。

完成测试后,单击垃圾桶删除该选项。

到此这篇关于CSS变量实现暗黑模式的示例代码的文章就介绍到这了,更多相关CSS暗黑模式内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章