CSS 点击效果 ripple 波纹

html-css013

CSS 点击效果 ripple 波纹,第1张

最近在做uniapp项目,无奈小程序上对于vue的支持很有限,很多优秀的前端框架在小程序环境下都不能生效,点击效果这一块一直没时间整理,现在弄了一个凑合着还能看的效果分享一下

还有一个稍微复杂点的版本,这个需要全局注册才行

首先在代码的如下位置打印事件对象,检查是不是重复调用了:

结果点击上面的“waves”和“btn”按钮分别返回了不同的事件对象,所以排除重复调用的可能。

在代码的129行,将动画定时器的时间改大(减慢动画执行速度),观察效果:

经观察,发现这个“水波纹”特效是全屏的,你看到的点击一个按钮后两个按钮上都有水波纹,其实是因为生成的那个水波纹动画层全屏覆盖住了整个页面,由于水波纹层是白色半透明的,所以页面的白色区域下你看不见,有其他颜色的区域都会看见(你可以把body的背景颜色改为除白色外的其他颜色,再点按钮试试)。

根因已经找到,解决的办法很简单,让生成的水波纹层不超出当前按钮区域即可,具体为:在代码第20行,为.waves, .btn 增加两行CSS代码:

position: relative

overflow: hidden