javascript - 使用 css var 在运行时应用主题更改机制
问题描述
我想使用 css var() 在运行时更改我网站上的主题。每次用户选择一个主题时,我都会将对应的文件导入页面。但是一旦我导入一个已经导入的 css 文件,页面上的样式就不会更新。我试图通过从标签中删除以前的 css 主题文件来解决它,但它并没有作为带有href属性的标签出现,而是作为一个无法查询和删除它的标签。
例如:
主.css:
.header {
background: var(--primary-color);
}
ThemeA.css
:root {
--primary-color: red;
}
ThemeB.css
:root {
--primary-color: blue;
}
有什么方法可以解决它,还是我必须寻求替代解决方案?如果是这样,哪种解决方案最合适?
编辑
我在反应组件中进行导入。这是我如何做到这一点的精髓:
export const MyComponent = ({theme) => {
import(`../styles/${theme}.css`);
/* rest of the code */
})
解决方案
推荐阅读
- python - 使用 Python filedialog askopenfilename() 方法打开文件时如何获取文件类型?
- python - 搜索一个词,在Python文本处理中修改整行
- azure - 在 Application Insights 中为 Worker Service 应用程序配置日志级别
- excel - 如何根据销售年份对相同产品的价值求和?
- excel - 如何处理新投资者,从基金中移除退出投资者
- arduino - WS2812 LED灯条表现异常
- c# - API 在 ASP.NET Core 中返回不受支持的媒体类型
- node.js - Cloud Vision PDF 到 JSON - 特定内容
- react-native - 从 expo 37 升级到 38(裸应用程序)和 React Native 61 到 62 后,NB Text 组件中的 refs 出现 NativeBase 错误
- r - 多个 ifelse 语句 - 有些不起作用