【发布时间】:2021-07-26 09:11:58
【问题描述】:
我正在使用 angular 12 并且我正在创建动态主题更改。
当我的应用程序根据所选主题加载时,我将所有颜色变量设置如下:
document.documentElement.style.setProperty(colorKey, colorValue);
之后,所有颜色都设置为文档元素而不是根元素。
如您所见,我还为根元素设置了一些变量。但是这些变量在 css 文件中定义为:
:root {
--primary: #005d7a;
--primary-50: #edf1f2;
--primary-400: #0094bd;
--primary-700: #027498;
--secondary-50: #ffebb7;
--silver: #3a3a3a;
--silver-light: #e4e7ea;
--silver-light-border: #dad7d6;
--main-background: white;
--main-page-background: #e4e7ea;
--main-text-color: #3a3a3a;
--disabled-color: #ccc;
}
而且效果很好。
我的问题是:
- 如何将 ts 文件中定义的其他变量设置到根而不是文档元素?
- 根据post 根选择器比文档强。那么(如上图所示)我的根 primary-50 颜色如何被文档 primary-50 覆盖?
【问题讨论】:
-
内联样式永远赢
-
而 html 是 :root 元素
标签: html css css-variables