我有一个简单的Material UI对话框,其中包含一个网格,它有一个滚动条,即使屏幕足够大以容纳整个内容,也可以滚动几个像素。
<Dialog open={isOpen} onClose={() => changeIsOpen(false)}>
<DialogContent>
<Grid container spacing={3}>
<Grid item xs={12} sm={6}>
<TextField label="First Name" fullWidth />
</Grid>
<Grid item xs={12} sm={6}>
<TextField label="Last Name" fullWidth />
</Grid>
<Grid item xs={12}>
<TextField label="Username" fullWidth />
</Grid>
</Grid>
</DialogContent>
<DialogActions>
<Button
color="secondary"
variant="contained"
onClick={() => changeIsOpen(false)}
>
Cancel
</Button>
<Button
color="primary"
variant="contained"
onClick={() => changeIsOpen(false)}
>
OK
</Button>
</DialogActions>
</Dialog>
你可以访问https://codesandbox.io/s/cool-cherry-or0r8查看这段代码。
我不想使用overflow: hidden
,因为如果页面太小,会出现滚动条,这是正确的。(在这个小例子中用3个字段不太可能发生,但在较大的对话框中很容易发生)。
我认为问题与flexbox和<Grid>
使用的负边距之间的交互有关,但我无法完全解决它。