我正在使用Material UI的Snackbar & Alert组件的组合来显示数据库Post操作后的成功或错误消息。Standard Material UI允许使用anchorOrigin
属性来定位消息相对于页面的位置,我在以下代码中使用该属性将消息居中对齐到页面底部:
<Snackbar open={open} autoHideDuration={5000} onClose={handleClose}
anchorOrigin={{
vertical: 'bottom',
horizontal: 'center',
}}>
<Alert
severity={severity}
variant="filled"
sx={{ width: '100%' }}
>
{message}
</Alert>
</Snackbar>
与其对齐整个页面,我更愿意将警报相对于包含触发消息的代码的父div居中对齐。有办法做到吗?我正在查看材质UI的自定义sx
属性,看看是否有办法在我的场景中使用,但没有看到任何有用的东西。
1条答案
按热度按时间u0njafvf1#
SnackBar的默认位置属性为
fixed
。带有
position: fixed;
的元素相对于视区定位,这意味着即使页面滚动,它也始终停留在同一位置。top、right、bottom和left属性用于定位元素。我们需要将其更改为
absolute
。具有
position: absolute;
的元素相对于最近的祖先定位(而不是相对于视口定位,如固定)。因此,我们还需要为小吃店创建一个父定位div,以便按预期工作。定位div的示例可以是
position: relative
div。要了解有关位置read this的详细信息