Vaadin:动态更改 CSS 变量

Tho*_*mas 2 vaadin vaadin-flow

有没有办法动态改变 lumo 原色:

html {
  --lumo-primary-text-color: hsl(214, 35%, 15%);
  --lumo-primary-color-50pct: rgba(140, 236, 0, 0.5);
  --lumo-primary-color-10pct: rgba(140, 236, 0, 0.1);
  --lumo-primary-color: #8CEC00;
  --lumo-primary-contrast-color: hsl(214, 35%, 15%);
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

最好的问候, 托马斯

Tar*_*aby 5

CSS 变量可以像这样从 Java 动态更新

UI.getCurrent().getElement().getStyle().set("--lumo-primary-text-color", "hsl(214, 35%, 15%)")
Run Code Online (Sandbox Code Playgroud)

这将更新整个 UI 的变量值。如果您只想更改特定组件(及其子组件)的变量,则只能调用getElement().getStyle().set()该组件。