返回列表
按钮交互

弹性微缩触觉反馈

按压时物理弹性压缩到 0.96 并加深内阴影,释放瞬间超调回弹。

AI 生成提示词
为按钮添加弹性微缩触觉反馈:按下时按钮以物理弹性压缩到 0.96 倍并叠加深度内阴影(inset shadow),释放瞬间触发轻微超调回弹(Spring Overshoot,先弹到 1.02 再回到 1),模拟真实按压手感。用 CSS transform + 原生 JS pointer 事件实现。

这个效果是怎么做出来的

按压反馈的成本极低但回报极高。按下时给按钮两个变化:transform: scale(0.96) 让它轻微塌陷,再叠一层 inset box-shadow 模拟被按进表面的阴影加深。释放瞬间不能直接弹回 1,那样只是恢复;要用带超调的弹簧曲线(cubic-bezier(0.34, 1.56, 0.64, 1) 这类),让缩放先冲到 1.02 左右再回落到 1,肌肉记忆里「松手后材料弹起来」的感觉就出来了。

实现上推荐用 pointerdown 和 pointerup 而不是 click:click 要等抬手才触发,按压态会延迟半拍,手感是飘的。还要注意 transition 只挂在 transform 和 box-shadow 两个属性上,避免 all 把背景色变化也拖进动画里。scale 用 transform 而不是改尺寸属性,动画全程在合成层,连续快按也不掉帧。

怎么用这条提示词

这条提示词可以批量用在项目里所有可点元素:按钮、卡片、标签。发给 AI 时说明「应用到所有 .btn 类」之类的选择器要求,它会写成可复用的类而不是单点样式。如果你在做移动端 H5 或小程序,注明这一点,AI 会补上触摸端的 active 状态处理和 300ms 延迟规避。

想效果更好?试试这些

压缩比例在 0.94 到 0.97 之间挑一个,超过 0.92 会显得 element 被按瘪了。大按钮用更小的压缩量(0.98),小图标按钮可以到 0.94,视觉重量才平衡。重要的主操作按钮可以叠加轻微的触觉反馈 API(navigator.vibrate(10)),物理震动加视觉回弹双重确认。暗色模式下把内阴影换成亮度降低 5%,比阴影更自然。