首页  >  文章  >  web前端  >  如何在 JavaScript 中检测暗模式?

如何在 JavaScript 中检测暗模式?

Barbara Streisand
Barbara Streisand原创
2024-11-11 06:57:03243浏览

How Can I Detect Dark Mode in JavaScript?

在 JavaScript 中检测深色模式

随着 Windows 和 macOS 中深色模式的引入,开发人员面临着适应 CSS 和 JavaScript 样式的挑战以匹配用户偏好的配色方案。本问题探讨了如何在 JavaScript 中检测深色模式,从而实现响应式配色方案调整。

媒体查询方法

对于 CSS,媒体查询提供了一个简单的解决方案:

@media (prefers-dark-interface) {
  color: white; background: black 
}

JavaScript 检测

用于创建支付元素的 Stripe Elements API 需要 JavaScript 中的颜色规范。要在此上下文中检测暗模式,需要利用 JavaScript API:

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

此查询检查是否支持 window.matchMedia API 并评估媒体查询字符串。如果为 true,则系统更喜欢深色模式。

监视配色方案变化

要处理配色方案的动态变化,可以订阅更改事件:

window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
    const newColorScheme = event.matches ? "dark" : "light";
});

这可以根据用户偏好进行实时调整。

以上是如何在 JavaScript 中检测暗模式?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn