gpt4 book ai didi

themes - Vaadin Flow 应用程序自动在明暗模式之间切换

转载 作者:行者123 更新时间:2023-12-02 06:21:08 25 4
gpt4 key购买 nike

Vaadin Flow 14 附带了两个捆绑主题的浅色和深色版本:LumoMaterial

现在browsers can ask the host OS for the user’s preference for light or dark modes .

有没有办法让 Vaadin 应用根据用户的意愿自动使用浅色或深色主题变体?

Marcus Hellberg 写道 a helpful post on how to switch light/dark mode以编程方式进行主题变体。我想知道 Vaadin 14 是否能够自动切换,因为可以从浏览器中检测到用户首选项。

如果没有,也许有人可以显示 Java 代码,用于从服务器端 Java 代码查询用户的偏好。

最佳答案

您可以使用window.matchMedia用于监听 prefers-color-scheme 更改的 API媒体查询标准化为 Media Queries Level 5 。请参阅CanIUse.com用于浏览器支持。

CSS media feature配色方案偏好有 3 个可能的值:no-preferencelightdark。下面的代码在 dark 上查找匹配项。

  1. 将下面所示的 JavaScript 代码放入 /frontend/prefers-color-scheme.js
  2. 在主视图上添加注释 @JsModule("prefers-color-scheme.js")
let mm = window.matchMedia('(prefers-color-scheme: dark)');
function apply() {
document.documentElement.setAttribute("theme",mm.matches?"dark":"");
}
mm.addListener(apply);
apply();

来源:https://gist.github.com/emarc/690eb2659c8b51cb895716914d65ec19

关于themes - Vaadin Flow 应用程序自动在明暗模式之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59462273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com