如何自定义通知提示框的显示位置?
我用的是 Ant Design 的 notification 组件,现在想让提示框出现在页面右侧中间的位置,而不是默认的右上角。试过改 placement 属性,但好像只支持四个角落,没有中间选项。
也尝试在全局样式里加了 .ant-notification 的 top 和 right 值,但这样会影响所有通知,而且计算起来很麻烦。有没有办法针对某一个通知单独设置位置?比如通过 style 或者 getContainer?
notification.open({
message: '提示',
description: '这是一条测试消息',
placement: 'topRight', // 只能选这四个:topLeft/topRight/bottomLeft/bottomRight
});
真要实现单条通知居中右侧显示,有两个靠谱方案:
第一个是直接自己写个轻量级 toast,用 fixed 定位 + 动画,几行代码就能搞定,比硬改 AntD 的.notification 容器省事多了:
第二个方案还是用 AntD 的 notification,但把它的 container 挂到一个自定义的
上,然后这个容器自己用 fixed 定位在右侧中间:这样所有通知都集中在这个自定义容器里,自然就集中在右侧中间了——不过注意这是全局生效,如果你只想某一条居中、其他保持右上角,那就得动态创建/销毁这个容器,或者直接用第一个方案自写 toast,更灵活。
说白了,AntD 这个组件就是为角落通知设计的,真要偏离它的设计意图,不如自己写个简单的,还能避免样式冲突和定位计算的坑。