返回列表
列表动效

弧线重排 Arc Reorder

列表重排时卡片沿弧线飞向新位置,水平垂直两段位移错开时序,轨迹自然不生硬。

AI 生成提示词
列表重排(洗牌/删除/排序)时,卡片沿弧线路径飞到新位置而不是直线平移。用 FLIP 技术:先记录旧位置、重排后用 transform 反向偏移回旧位,再把水平位移放在外层元素、垂直位移放在内层元素,两层用不同缓动曲线(外层 easeOut、内层 easeIn)错开时序,合成出弧线轨迹。

这个效果是怎么做出来的

列表项换位时浏览器是瞬间把元素画到新坐标的,什么都不做就是生硬跳变,所以要上 FLIP 四步:First 记录旧位置,Last 让 DOM 真正重排,Invert 用 transform 把元素反向搬回旧位,Play 放动画回到零点。直线版 FLIP 工整但机械——真实物体改变运动方向要走弧线。弧线的偷懒做法是把位移拆到两层嵌套元素上:外层只管水平位移,用先快后慢的 easeOut;内层只管垂直位移,用先慢后快的 easeIn。两层时间曲线不同步,X 先走完 Y 才追上,合成轨迹自动是一段弧,全程只写 transform,重排只发生一次,性能毫无压力。demo 点按钮随机打乱八张卡片,每张都沿自己的弧线飞向新位置。

怎么用这条提示词

适合看板拖拽排序、相册网格删除重排、标签云打乱、抽奖池洗牌这类二维重排场景。发给 AI 时说明触发重排的操作是什么(点按钮、拖拽松手还是删除元素),它会套 FLIP 流程。要更自然可以补一句「位移距离远的卡片时长略长」。

想效果更好?试试这些

两段缓动的先后决定弧的凸向:X 用 easeOut、Y 用 easeIn 是先横后纵,反过来的话弧朝另一边凸,配对错了会变成 S 形。单轴重排(纯横向列表)拆不出弧线,这条技巧只对二维网格生效。卡片超过二十张后别全部用同一时长,按位移距离在 0.4 到 0.7 秒间微调,远近有别更像物理世界。还有一点容易漏:重排后要重新读一次位置再播放,直接用缓存旧坐标会飞错方向。

继续看