成功提示框在页面底部居中时为什么只水平居中不垂直?
大家好,我在做一个表单提交成功后的提示框,想让它固定在页面底部居中显示。用了position: fixed后,虽然水平方向能居中,但垂直方向总贴不到底边,还留了空白。试过调整margin和transform,但没效果。
这是我的CSS代码:
.success-toast {
position: fixed;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
background: #4CAF50;
color: white;
padding: 15px 30px;
border-radius: 4px;
}
如果把left和transform改成top:50%垂直居中就正常,但底部位置不对。是不是fixed定位在垂直方向有特殊限制?
你要的是在底部水平居中,当前代码已经实现了:left: 50% + translateX(-50%) 就是标准做法。如果你发现没居中或者有偏移,可能是父容器或 body 有 margin、padding 或者用了不重置的默认样式。
试试看加一行 body 的样式重置:
然后你的 .success-toast 样式根本不用改,就能在底部水平居中。fixed 定位没有垂直方向限制,是你页面默认样式在干扰。