gpt4 book ai didi

angular - 更改变量值 scss

转载 作者:行者123 更新时间:2023-12-03 18:35:28 24 4
gpt4 key购买 nike

我在我的 scss 文件中定义了不同的变量,我在一些 scss 文件中使用了这些变量。

_variables.scss

$light-theme: rgba(94,161,215,0.3);
$dark-theme: #5EA1D7;
$darker-theme: #57647A;
$very-dark-theme: #455061;

如何定义 3 组主题?就像是:
default-theme {
$light-theme: rgba(94,161,215,0.3);
$dark-theme: #5EA1D7;
$darker-theme: #57647A;
$very-dark-theme: #455061;
}

dark-theme {
$light-theme: black;
$dark-theme: brown;
$darker-theme: black;
$very-dark-theme: black;
}

light-theme {
$light-theme: black;
$dark-theme: brown;
$darker-theme: black;
$very-dark-theme: black;
}

我想根据选定的主题更改值。
例如我有 3 个按钮,在它们上选择,将改变可变颜色。

应用程序组件.html
 <button mat-raised-button (click)="onSetTheme('default-theme')">Default</button>
<button mat-raised-button (click)="onSetTheme('dark-theme')">Dark</button>
<button mat-raised-button (click)="onSetTheme('light-theme')">Light</button>

app.component.ts
  onSetTheme(theme) {
//TODO here I want to change the theme
}

如何在 onSetTheme() 函数中更改主题。

谢谢!

最佳答案

您可以将 SASS 变量和其他 SASS 内容和 CSS 变量一起使用。

SASS

$body-margin: 0 10px;

:root {
--bg-color: #000;
--text-color: #FFF;
}


body {
background: var(--bg-color);
color: var(--text-color;
margin: $margin;
}

JS
onSetTheme(theme) {
let bgColor, textColor;
switch(theme) {
case light:
bgColor = #FFF;
textColor = #000;
break;
case dark:
bgColor = #000;
textColor = #FFF;
break;
}
document.querySelector('body').style.setProperty('--bg-color', bgColor);
document.querySelector('body').style.setProperty('--text-color', textColor);
}

关于angular - 更改变量值 scss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48445522/

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