一部のMaterial-UIコンポーネントにパディングまたはマージンを追加する必要がありますが、簡単な方法が見つかりませんでした。これらのプロパティを追加できますかすべてのコンポーネントに?このようなもの:
<Button color="default" padding={10} margin={5}>
私はこれが純粋なCSSとクラスを使用して可能であることを知っていますが、マテリアルUIの方法でそれをしたいです。
Material-UIのスタイリングソリューションは、コアでJSSを使用しています。ランタイムおよびサーバーサイドで動作するCSSコンパイラーへの高性能JSです。
import { withStyles} from '@material-ui/core/styles';
const styles = theme => ({
buttonPadding: {
padding: '30px',
},
});
function MyButtonComponent(props) {
const { classes } = props;
return (
<Button
variant="contained"
color="primary"
className={classes.buttonPadding}
>
My Button
</Button>
);
}
export default withStyles(styles)(MyButtonComponent);
WithStyle HOCを使用して、コンポーネントにスタイルを注入できます。これが機能する方法であり、非常に最適化されています。
編集済みすべてのコンポーネントにスタイルを適用するには、createMuiTheme
を使用し、MuiThemeprovider
でコンポーネントをラップする必要があります
const theme = createMuiTheme({
overrides: {
MuiButton: {
root: {
margin: "10px",
padding: "10px"
}
}
}
});
<MuiThemeProvider theme={theme}>
<Button variant="contained" color="primary">
Custom CSS
</Button>
<Button variant="contained" color="primary">
MuiThemeProvider
</Button>
<Button variant="contained" color="primary">
Bootstrap
</Button>
</MuiThemeProvider>