ven*_*Mer 7 html css reactjs material-ui
下面的 MUI 网格示例似乎在网格右侧创建了一个额外的空间,并使网格看起来没有占据页面上的整个可用空间。
我尝试更改/删除以下边距值,但没有帮助:
.MuiGrid-spacing-xs-1 {
width: calc(100% + 8px);
margin: -4px;
}
Run Code Online (Sandbox Code Playgroud)
import React from "react";
import { makeStyles } from "@material-ui/core/styles";
import Paper from "@material-ui/core/Paper";
import Grid from "@material-ui/core/Grid";
const useStyles = makeStyles((theme) => ({
root: {
flexGrow: 1,
backgroundColor: "lightblue"
},
paper: {
padding: theme.spacing(1),
textAlign: "center",
color: theme.palette.text.secondary
}
}));
export default function NestedGrid() {
const classes = useStyles();
function FormRow() {
return (
<React.Fragment>
<Grid item xs={4}>
<Paper className={classes.paper}>item</Paper>
</Grid>
<Grid item xs={4}>
<Paper className={classes.paper}>item</Paper>
</Grid>
<Grid item xs={4}>
<Paper className={classes.paper}>item</Paper>
</Grid>
</React.Fragment>
);
}
return (
<div className={classes.root}>
<Grid container spacing={1}>
<Grid container item xs={12} spacing={3}>
<FormRow />
</Grid>
<Grid container item xs={12} spacing={3}>
<FormRow />
</Grid>
<Grid container item xs={12} spacing={3}>
<FormRow />
</Grid>
</Grid>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
右侧的额外空间不是由您问题中包含的样式引起的,而是由最外层网格justify-content的默认样式引起的。flex-start如果您在最外面的网格上指定justify="center",则网格的内容将居中。
import React from "react";
import { makeStyles } from "@material-ui/core/styles";
import Paper from "@material-ui/core/Paper";
import Grid from "@material-ui/core/Grid";
const useStyles = makeStyles((theme) => ({
root: {
flexGrow: 1,
backgroundColor: "lightblue"
},
paper: {
padding: theme.spacing(1),
textAlign: "center",
color: theme.palette.text.secondary
}
}));
export default function NestedGrid() {
const classes = useStyles();
function FormRow() {
return (
<React.Fragment>
<Grid item xs={4}>
<Paper className={classes.paper}>item</Paper>
</Grid>
<Grid item xs={4}>
<Paper className={classes.paper}>item</Paper>
</Grid>
<Grid item xs={4}>
<Paper className={classes.paper}>item</Paper>
</Grid>
</React.Fragment>
);
}
return (
<div className={classes.root}>
<Grid container spacing={1} justify="center">
<Grid container item xs={12} spacing={3}>
<FormRow />
</Grid>
<Grid container item xs={12} spacing={3}>
<FormRow />
</Grid>
<Grid container item xs={12} spacing={3}>
<FormRow />
</Grid>
</Grid>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
相关资源:https://css-tricks.com/snippets/css/a-guide-to-flexbox/#justify-content
| 归档时间: |
|
| 查看次数: |
7940 次 |
| 最近记录: |