Huy*_*yen 3 reactjs material-ui css-modules
例如我想给这个按钮添加 margin-top
import classes from 'button.module.css';
<Button
type="submit"
variant="contained"
color="primary"
fullWidth
disabled={this.props.isLoading}
className={classes.Button}
>
{this.props.isLoading ? <CircularProgress size={20}/> : 'SIGN IN'}
</Button>
Run Code Online (Sandbox Code Playgroud)
在 button.module.css 文件中
.Button {
margin-top: 15px;
}
Run Code Online (Sandbox Code Playgroud)
是否可以使用此方法而不是像官方 material-ui 页面中的指令那样覆盖?
只需将StylesProvider组件与injectFirst属性一起使用:
import React from 'react'
import ReactDOM from 'react-dom'
import App from './App'
import { StylesProvider } from "@material-ui/core/styles" // <-- import this component, and wrap your App.
ReactDOM.render(
<StylesProvider injectFirst>
<App />
</StylesProvider>,
document.getElementById('root')
)
Run Code Online (Sandbox Code Playgroud)
这是 CSS 特定性的问题,其中您的 CSS 在 Material UI 的样式之前加载,因此被它们覆盖。正如文档中所述,关于injectFirst财产:
默认情况下,样式最后注入到页面元素中。因此,它们比任何其他样式表获得更多的特异性。如果要覆盖 Material-UI 的样式,请设置此属性。
小智 0
在我最近的项目中我做了类似的事情
import './style.css';
这是 style.css 的示例内容
.detailbox-paper {
width: 90vw;
margin: 20px auto 0px auto;
}
Run Code Online (Sandbox Code Playgroud)
我通过在元素上使用 className 来使用它,就像这样
<Paper className="detailbox-paper">
,它起作用了。通过这种方法要记住的一件事是,您将开始与 CSS 特异性作斗争。
您还可以使用内联styles={{}}属性的驼峰式语法。但是,据我所知,内联样式总是会被设置,除非有关键字!important。
希望这可以帮助您的旅程。
| 归档时间: |
|
| 查看次数: |
5885 次 |
| 最近记录: |