MotionLang

状态之间的转换 · A 变成 B

底部抽屉Bottom sheet

一层内容从屏幕底边升起来,后面的页面同时变暗、轻微后退。拖住把手往下拽时抽屉完全跟着手指;松手时决定它回去还是关掉的不是位置,而是速度 —— 慢慢拖到底它还会弹回来,快速甩一下就走了。

在工具里打开这条

什么时候用它

用在移动端的分支操作、详情、选择器上(比整页跳转轻,比弹窗重)。桌面端别用 —— 从屏幕底部升起的层在鼠标环境里既远又别扭,那里用弹出层。

参数

on open · transform: translateY 100%→0 · backdrop opacity 0→0.32 · 380ms cubic-bezier(0.22, 1, 0.36, 1) · dismiss if release velocity > 0.5px/ms

配方

  1. 底部抽屉 → on open · transform: translateY 100%→0 · backdrop opacity 0→0.32 · 380ms cubic-bezier(0.22, 1, 0.36, 1) · dismiss if release velocity > 0.5px/ms

给 AI 的一句话

做一个底部抽屉:打开时抽屉从 translateY(100%) 升到 0、背景遮罩 opacity 从 0 到 0.32,380ms 用 cubic-bezier(0.22, 1, 0.36, 1)。拖动时抽屉 1:1 跟手(不要加缓动),松手时用松手那一刻的速度判断:超过 0.5px/ms 就关掉,否则弹回 —— 不要只看拖了多远。

同类的其他动效