scale(0) 放大到 scale(2.5) 并淡出position: relative + overflow: hidden,限制涟漪在按钮范围内getBoundingClientRect() 获取按钮位置,计算点击点相对按钮的坐标pointer-events: none 防止涟漪元素阻挡后续点击事件,保证交互连续性setTimeout 移除 DOM 元素,避免节点堆积影响性能Material Design 风格的涟漪点击反馈。点击按钮时,JS 在鼠标落点位置插入一个圆形 span,通过 scale 放大并 opacity 淡出,模拟水波扩散。涟漪位置跟随点击点,比固定位置的动画更自然、更有反馈感。