最近微信被苹果逼的开发了暗黑模式,愈来愈多的网站和应用开始支持了暗黑模式,许多人也喜欢为网站选择暗模式,也许他们更喜欢这样的外观,或者他们想让本身的眼睛免受疲劳。这篇文章将告诉你如何实现一个自动的 CSS 暗模式,根据你的访客的主题来改变。css
我在本身的博客页面 个人小铺 页面实践了一下用 CSS变量
和 @media查询
实现暗黑模式。web
我定义了变量以设置主题的颜色,我建议你也这样作,由于这样会使这个过程容易得多。个人默认模式的颜色变量以下:segmentfault
:root { --accent: #226997; --main: #333; --light: #666; --lighter: #f3f3f3; --border: #e6e6e6; --bg: #ffffff; }
若是你想在你的样式表中使用这些变量,你能够这样作:微信
p { color: var(--main); }
这样,若是您想更改主题的颜色,则只需修改定义的变量,全部使用该变量的内容都会更新。测试
如今咱们须要定义一组新的变量,这些变量将在调用 CSS 暗模式时使用。网站
/* 定义 dark 模式的颜色 */ :root { --accent: #3493d1; --main: #f3f3f3; --light: #ececec; --lighter: #666; --border: #e6e6e6; --bg: #333333; }
如今,咱们定义了两组变量,剩下要作的唯一一件事就是将 preferences -color-scheme
媒体查询添加到咱们的 dark
变量中。ui
带上 Dark 颜色变量并在下面添加 @media 查询
:spa
/* 定义 dark 模式的颜色 */ @media (prefers-color-scheme: dark) { :root { --accent: #3493d1; --main: #f3f3f3; --light: #ececec; --lighter: #666; --border: #e6e6e6; --bg: #333333; } }
就是这样!若是有人使用深色操做系统主题并访问您的网站,您的网站如今将自动切换到黑暗模式。操作系统
我相信您会但愿测试这种更改是否有效。为此,您能够简单地在操做系统上启用一个 dark 主题,例如 iOS dark 主题。3d
或者,若是你不想在你的操做系统主题上浪费时间,你能够在 Firefox 中强制执行这个测试。方法以下:
about:config
,而后按 Enter。ui.systemUsesDarkTheme
。number
并单击 +
符号。1
并单击 tick 按钮。0
。如今,您应该拥有一个网站,该网站不只在移动界面方面具备响应能力,并且在主题方面也具备响应能力。我敢确定,您的深夜访客或只喜欢深色主题网站的访客会感谢您。
参考原文: https://kevq.uk/how-to-add-cs...
关注公众号,第一时间接收最新文章。若是对你有一点点帮助,能够点喜欢点赞点收藏,还能够小额打赏做者,以鼓励做者写出更多更好的文章。