博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 暗黑字符串_CSS变量实现暗黑模式,我的小铺页面已经支持
阅读量:6514 次
发布时间:2019-06-24

本文共 1377 字,大约阅读时间需要 4 分钟。

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

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

get-article-detail-172387.html

CSS Dark Mode

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

: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;

}

复制代码

添加 Dark 式支持

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

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

/* 定义 dark 模式的颜色 */

@media (prefers-color-scheme: dark) {

:root {

--accent: #3493d1;

--main: #f3f3f3;

--light: #ececec;

--lighter: #666;

--border: #e6e6e6;

--bg: #333333;

}

}

复制代码

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

get-article-detail-172387.html

get-article-detail-172387.html

测试

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

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

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

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

在搜索栏中,搜索 ui.systemUsesDarkTheme。

将复选框更改为 number 并单击 + 符号。

将值更改为 1 并单击 tick 按钮。

现在页面应该变黑。

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

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

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

现在,您应该拥有一个网站,该网站不仅在移动界面方面具有响应能力,而且在主题方面也具有响应能力。我敢肯定,您的深夜访客或只喜欢深色主题网站的访客会感谢您。

转载地址:http://pxifo.baihongyu.com/

你可能感兴趣的文章
SCOM 2012 SP1服务器上安装和配置Veeam MP for VMware
查看>>
多核编程的四层境界
查看>>
Windows Phone 实用开发技巧(11):让StackPanel中的控件靠右对齐
查看>>
小记如何修改xen模块
查看>>
实时游戏对战引擎Photon
查看>>
C语言位操作控件属性
查看>>
nginx的安装及基本配置,及多个域名服务
查看>>
Servlet访问postgresql数据库并提取数据显示在前端jsp页面
查看>>
不改一行代码定位线上性能问题
查看>>
定义运算符
查看>>
git管理
查看>>
idea演示
查看>>
告别暗黄皮肤变水嫩皮肤的8个小习惯
查看>>
加强Eclipse代码自动提示的方法
查看>>
【HM】第4课:MySQL入门
查看>>
GNS3-地址重叠环境中部署IPsec
查看>>
exchange online 用户疑问之许可证和用户数据归档
查看>>
QImage Mat IplImage 之间的相互转换
查看>>
lsof命令详解
查看>>
使用eclipse与android studio 在开发自定义控件时的区别
查看>>