reactjs - Material UI:通过 SASS 变量更改主题颜色
问题描述
我知道我们可以编辑Material UI的主题, 但我正在考虑让它动态化,我们可以在其中设置 SASS 变量,它会自动更新 Material UI 主题。
我使用 sass 来设计我的页面,这是我使用的变量示例:
$primary-color: #1E79C7;
$secondary-color: #E5681A;
目前对我来说,我为材料 ui 按钮执行以下操作,因为我希望我的设计尽可能在一个地方
.app-button-blue {
background-color: $primary-color !important;
margin: 5px;
}
.app-button-gray {
background: transparent !important;
box-shadow: none !important;
}
.app-button-white {
background: transparent !important;
box-shadow: none !important;
border: $primary-color solid 1px !important;
}
有没有办法让我使用这个 SASS 变量来覆盖材料 ui 的主题 - 比如设置原色和次要颜色?
解决方案
Material UI 使用基于 javascript 的样式解决方案 (JSS),而不是像 SCSS 这样的 CSS 预处理器(请参阅样式解决方案)。
这意味着无法通过 SCSS 变量自定义 Material UI 主题。也无法访问您的 CSS/SCSS 样式中的主题。
如果您想使用 SCSS 进行样式/主题化,您可以考虑使用Material Web Components。
推荐阅读
- reactjs - 在收到道具之前反应渲染
- c# - 无法使用实体框架创建控制器 - 运行所选代码生成器时出错“无法检索元数据
- ios - 无法在 watchOS 上使用 XCFramework
- c# - 如何硬编码身份用户登录?
- git - 有没有办法防止 git 推送/拉取文件更新但将其保留在版本控制中?
- javascript - 有没有办法在 JavaScript 中有一个不和谐的机器人,在 python 中有一些命令?
- javascript - 如何在树状结构中搜索过滤器?
- azure - 即使“始终开启”,在 ASP.NET Core API 应用程序中响应第一个请求也需要 5 秒以上
- javascript - $.getJSON() 调用在 chrome 中极度延迟
- selenium - 在 Excel 中,默认情况下将“TRUE”视为布尔值“TRUE”,这使我的 selenium 代码失败