js+css实现水波纹按钮点击动画效果代码
代码语言:html
所属分类:布局界面
代码描述:js+css实现水波纹按钮点击动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <style> * { /* 常规初始化 */ margin: 0; padding: 0; box-sizing: border-box; /* 解决手机浏览器点击有选框的问题 */ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { /* 常规居中显示 */ display: flex; justify-content: center; align-items: center; /* 元素间距 */ gap: 4vmin; overflow: hidden; min-height: 100vh; background-color: #112222; } button { /* 超出按钮部分隐藏 */ overflow: hidden; /* padding 撑开按钮 */ padding: 4vmin 8vmin; /* 去掉按钮边框、给个圆角 */ border: none; border-radius: 10vmin; /* 按钮的渐变背景颜色 */ background-image: linear-gradient(90deg, #0acffe, #495aff); /* 文字颜色、大小、粗细、字间距 */ color: #fff; font-size: 6vmin; font-weight: bold; letter-spacing: 1vmin; /* 鼠标小手 */ cursor: pointer; position: relative; } button:nth-child(2) { /* 第二个按钮换个颜色 */ background-image: linear-gradient(90deg, #ed6ea0, #ec8c69); } button span { /* 水波纹背景颜色 */ background-color: #fff; /* 水波纹是个圆 ○ */ border-radius: 50%; /* 水波纹元素不会对鼠标点击事件造成干扰 */ pointer-events: none; /* 定位,left、top 的值通过 js 定义 */ position: absolute; /* 圆中心 */ transform: translate(-50%, -50%); /* 水波纹扩散动画 */ animation: animate 1s ease-out infinite; } @keyframes animate { 0% { width: 0; height: 0; opacity: 0.5; } 100% { /* 从最初宽高为 0,扩散到很大一个圆,模仿水波纹效果 */ width: 100vmin; height: 100vmin; /* 元素慢慢变淡,最后消失 */ opacity: 0; } } </style> </head> <body> <button type="button">按钮</button> <button type="button">水波纹</button> <script> // 获取到所有的 按钮 元素 const buttons = document.querySelectorAll("button"); // 循环设置每个按钮 buttons.forEach((button) => { // 给按钮添加 鼠标点击事件 button.addEventListe.........完整代码请登录后点击上方下载按钮下载查看
网友评论0