【发布时间】:2021-10-31 02:00:51
【问题描述】:
目前我正在使用 SCSS,因为它很容易与 NextJS 一起使用。我真的很喜欢这个系统的工作方式,使用 SCSS 模块,所以我也想在使用 Material-UI 时使用它。 Material-UI 使用 JSS,每次都要写很多样板。此外,我不喜欢使用两种样式(SCSS 模块和 JSS)。我已经更改了 CSS 注入的顺序,以便我可以在 Material-UI 组件上使用我的 SCSS 模块。但是,我想知道是否有办法使用 SCSS 模块覆盖 Material-UI 组件的样式?我尝试了以下和一些类似的方法,但似乎没有任何效果:
import styles from "./Login.module.scss";
import Button from "@material-ui/core/Button";
function Login() {
return (
<section>
<Button className={styles.button} variant="contained" color="primary">
Verify
</Button>
</section>
);
}
export default Login;
.button {
padding: 10px;
margin-bottom: 10px;
.MuiButton-containedPrimary {
border: 2px solid red;
background-color: red;
}
}
【问题讨论】:
-
你不能在不改变构建过程的情况下使用 CSS 模块覆盖 material-ui JSS(如果可能的话)。我不建议这样做。但是,您可以使用
classes属性覆盖 material-ui 类名。例如<Button classes={{ root: styles.button }} />。不过,这将删除所有 Material-ui 样式。
标签: reactjs sass material-ui next.js jss