底部滑出面板浮层

从屏幕底部向上滑出、盖住部分屏幕的临时面板。背后的页面通常会变暗但还看得见,往下拖或点背景就能关掉。

  • 从下面滑上来的框
  • 微信分享那个面板
  • 半个屏幕的弹窗
  • 底部弹窗
  • 上拉面板
  • 底部抽屉
  • 半屏弹窗

示例

示例可交互

Web / iOS / Android 对照

Web需自己实现

桌面与移动端主流浏览器

Bottom Sheet

也叫 Drawer · Sheet

Web 没有专门的底部面板元素,现有 dialog 只提供对话框语义,不会直接产生从底部滑出的面板。Drawer 这个词在 Web 里也常指从侧边滑出的抽屉,容易混。

通常怎么做:使用 <dialog> 或绝对定位配合 CSS transform 自行实现,也可以使用 Radix Dialog、Vaul 这类第三方组件。

Android原生支持

Android 手机 / 平板;不含 Wear OS、TV、Auto

Bottom Sheet

也叫 Modal Bottom Sheet

Compose: ModalBottomSheet|View: BottomSheetDialogFragment

Material Design 里分 Modal(挡住交互)和 Standard(不挡)两种。Android 是三个平台里对这个组件规范最细的。

使用规范

什么时候用

  • 在不离开当前页面的前提下,让用户完成一个短任务(选择、填表、确认)
  • 内容量中等,一屏到两屏之间
  • 需要保留上下文,让用户知道自己还在原来那个页面

什么时候别用

  • 内容很长或有多层级导航 → 用整页(Full Screen / Push)
  • 只是要用户二选一确认 → 用 Alert / Dialog
  • 只是给一列操作选项 → iOS 用 Action Sheet,Web/Android 用 Menu

容易混淆

给 AI 的提示词

Web
做一个从屏幕底部滑出的 bottom sheet,支持拖拽关闭,背景蒙层半透明,高度为屏幕的 50%,可以拖到 90%。