【发布时间】:2021-07-29 21:17:14
【问题描述】:
我现在正在使用 React Material UI Grid 组件来构建我的网页,但是我遇到了一个关于跨嵌套网格对齐项目的问题。现在的视图是这样的:
但我希望右半边的项目被拉伸以与底部的左半边对齐,理想情况下,它应该是这样的:
代码是这样的:
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) => ({
paper: {
padding: theme.spacing(1),
textAlign: 'center',
color: theme.palette.text.secondary,
},
}));
export default function NestedGrid() {
const classes = useStyles();
function FormRow3() {
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>
);
}
function FormRow2() {
return (
<React.Fragment>
<Grid item xs={12}>
<Paper className={classes.paper}>item</Paper>
</Grid>
</React.Fragment>
);
}
return (
<div >
<Grid container spacing={1}>
<Grid container item xs={6} spacing={3}>
<FormRow3 />
<FormRow3 />
</Grid>
<Grid container item xs={6} spacing={3}>
<FormRow2 />
</Grid>
</Grid>
</div>
);
}
我这里还有一个沙盒:https://codesandbox.io/s/material-demo-forked-xunx7
谁能帮忙?
编辑: 使用@nipuna777 answer(flex=1),我可以对齐网格中的项目。但我发现如果更复杂的场景,像这样:
顶部、底部和右侧部分可能无法完美对齐。那么如何让所有这些边界完美对齐呢??
上面的代码在这里: https://codesandbox.io/s/material-demo-forked-imrrh?file=/demo.js
【问题讨论】:
-
你试过把中间的
Grid的spacing减到2吗?
标签: css reactjs material-ui grid