跳到正文

轻提示

Toast

一条短消息从屏幕边缘滑进来,几秒后自己消失,不打断当前操作。

  • 又叫:
  • 轻提示
  • 消息提示条
  • 浮层提示
  • 自动消失的提示
  • toast notification
  • snackbar
展厅
交互反馈
形态
固定舞台
播放
手动触发
关键词
需要 JS / 有状态 / 合成层动画 / 可以直接用
↕ 自己动手试试
F-06形态 固定舞台播放 手动触发Toast

参数工作台

复制给 AI

随参数实时更新

做一个轻提示(toast)组件:触发后从底部居中滑入,滑入距离 12px,入场 220ms ease-out,停留 3000ms 后自动消失。容器用 role="status" 和 aria-live="polite",多条时纵向堆叠、最多同时 3 条。动画只用 transform: translateY 和 opacity,禁用状态别遮挡页面操作。系统减少动态效果时直接出现和消失。

什么时候用

  • 一次操作成功或失败,给一句话的确认,不用用户做决定
  • 配合撤销(undo),比如「已删除 · 撤销」
  • 后台任务完成时提醒一下,用户当时可能在别处

适用场景:按钮 / 表单 / 页面

推荐取值

停留时长
3–5s
入场时长
200–300ms
同时最多
3 条
宽度
280–420px
位置
底部居中或右上角

别搞混

  • 和「模态弹窗(modal)」的区别

    modal 挡住页面、必须处理才能继续;toast 不阻塞、会自动消失,所以不能把必须被看到的严重错误只放进 toast。

  • 和「字段内联校验」的区别

    表单错误要贴在出错字段旁边并保持可见,直到用户改对;toast 在角落且会消失,不适合报字段级错误。

容易踩的坑

  • 自动消失的提示不能用 aria-live="assertive",会打断读屏;用 role="status" 或 aria-live="polite"
  • 停留时间少于 3 秒读不完,超过 6 秒又挡视线,3–5 秒比较合适
  • 多条 toast 要堆叠并限制数量(最多 3–4 条),否则会铺满屏幕
  • 不能只靠颜色区分成功和失败,要有图标或文案;也不能让 toast 成为唯一的信息来源

无障碍降级

prefers-reduced-motion: reduce 下取消入场和退场的位移与淡出,直接出现、直接消失,停留时长保持不变。

关键词

  • toast
  • snackbar
  • aria-live
  • role="status"
  • auto-dismiss
  • transform: translateY

参考

相关展品