跳到主要内容
界面图谱Interface Atlas
☰
EN
动效Motion / Hover

磁吸按钮

Magnetic Button

别名:磁吸按钮磁性按钮按钮被鼠标吸过去鼠标靠近按钮偏移magnetic effect磁力吸附

这是什么

鼠标靠近按钮时,按钮像被磁铁吸住一样朝光标方向偏移一小段距离, 离开后弹性归位。偏移量按光标与按钮中心的距离计算,通常限制在 8~20px。 一种高"手感"的桌面端彩蛋交互,常出现在作品集与创意官网。

交互实验室

试一试,再决定怎么用

正在加载演示…

✓ 适用场景

  • 落地页的 CTA、导航图标等少量关键按钮
  • 创意类 / 作品集网站的品牌调性
  • 桌面端为主、留白充足的布局

✕ 不适用场景

  • 触屏设备(没有 hover,效果失效)
  • 表单控件与密集操作区(偏移破坏瞄准)
  • 页面大量按钮全部磁吸(眩晕且廉价)

常见形式

平移跟随

Translate follow

按钮整体向光标平移,最基础

按钮与文字分层跟随

Layered follow

文字比外壳多移一档,产生视差

磁吸 + 微倾斜

Magnet + tilt

叠加轻微 rotateX/Y,立体感更强

实现要点

transform: translatetransitionmousemovegetBoundingClientRect

在按钮(或更大的热区)上监听 mousemove,用 getBoundingClientRect 求光标相对 中心的比例,乘以最大偏移(如 0.3 × 40px)写入 transform: translate; mouseleave 时归零并给 300~500ms 的弹性过渡(cubic-bezier(.2,.8,.3,1.2))。 进入热区时把 transition 缩短到 100ms 让跟随更"黏"。 触屏直接禁用,配 @media (hover:hover)。

交给 AI

四层 Prompt 从「它是什么」一路写到「可直接执行的任务」;切到 Agent 任务层,还能叠加视觉风格与附加要求,再一键复制给你的 Coding Agent。

为项目的主 CTA 按钮添加磁吸交互。

先确认按钮组件结构与强调色令牌,保持一致。
要求:
- 热区 1.5 倍按钮大小,偏移上限 12px,跟随 100ms 弹回 400ms
- 键盘焦点与触屏行为不受影响
- 尊重 prefers-reduced-motion
- 不引入新依赖
完成后运行现有检查,说明修改文件。

附加要求:
- 支持深色模式
- 尊重 prefers-reduced-motion
- 不新增依赖
- 完成后运行现有检查并列出修改文件

可直接交给 Coding Agent,可叠加风格与附加要求

相关概念

悬浮上浮Hover Lift

鼠标悬停时卡片或按钮轻轻上浮(translateY -2~6px)并加深投影, 像被无形的手托起。最常见的"这个可以点"的桌面端暗示, 成本极低但立刻让页面有层次和呼吸感。

动效相似概念
按压反馈Press Feedback

用户按下按钮、卡片等可点击元素时,元素轻微缩小(通常 0.95~0.98), 松开后弹回。一个几十毫秒的细节,让界面"手感"立刻从网页变成实体按键。

动效相似概念
悬停发光Hover Glow

鼠标悬停时元素边缘泛出柔和光晕,用外发光阴影或径向渐变沿边框晕开, 颜色多为品牌强调色。相比投影的"物理抬升",光晕暗示的是"能量"与"可交互", 常用于深色界面、游戏感产品与霓虹风格按钮。

动效相似概念
弹性回跳Elastic Bounce

元素到位后不是稳稳停住,而是带一两次越过后回弹的振荡, 像有弹性地"Q 一下"。 给界面注入物理感和俏皮感, 常用于成功状态、奖励时刻或品牌化入场。

动效相似概念

参考来源

Markdown 版(给 Agent) · JSON