MotionLang

光标与指针 · 指针碰到什么

邻近放大Proximity magnify

指针靠近哪一枚,哪一枚就变大、抬起来,旁边的依次递减 —— 距离决定大小,不是「指到才变」。所以指针还没碰到,图标已经开始回应了。

在工具里打开这条

什么时候用它

适合底部或侧边一排扁平图标、要「像 macOS 程序坞那样顺手」的地方:底部导航、工具条、侧栏。别用在密集的小控件或表格行上 —— 尺寸一变,旁边的元素会被推来推去;也别把放大倍数开得更大(峰值 1.6 倍已经够),图标一大会盖住邻居。触屏上没有指针,这套不成立,那里请换成按下去的反馈。

参数

1 + 0.62 · exp(−d²/(2·46²)) · lift 26px · 90ms first-order follow

配方

  1. 邻近放大 → 90ms
  2. 邻近放大 → 1 + 0.62 · exp(−d²/(2 · 46²)) · lift 26px · 90ms first-order follow

给 AI 的一句话

做一排邻近放大图标(像 macOS 程序坞):一排等宽图标,指针靠近哪一枚,哪一枚就放大并上浮,两侧依次递减。放大用高斯曲线 1 + 0.62 乘 exp(负 d 平方 除以 2 乘 46 平方),d 是指针到那枚图标中心的距离(46px 之外基本回到 1 倍);上浮量等于(倍数 减 1)乘 26px,transform-origin 放在图标底边,这样它是「被顶起来」而不是「向上长」。每帧按 90ms 的一阶跟随逼近目标值,不要直接贴在指针上,也不要给每个图标写 CSS 过渡 —— 那样会互相打架。指针离开后回到原状。

同类的其他动效