css3实现冲击波效果的示例代码


Posted in HTML / CSS onJanuary 11, 2018

近日,很多浏览器按钮点击会出现以下冲击波效果,出于好奇,参考网上的资料,将这个效果研究实现下。

css3实现冲击波效果的示例代码

实现思路:

观察波由小变大,涉及的css3属性变化有width,height,left,top,opacity,首先通过伪类实现冲击波层,同时需要设置冲击波前后的中心点位置(这里涉及一点点数学知识:画图计算两个点的位置),最后设置transition-duration: 0实现瞬间变化,ps学习到用a:active可以模拟鼠标实现点击的效果

简单画下图(很菜):

css3实现冲击波效果的示例代码

实现的代码:

<html>
  <head>
  <meta charset="UTF-8">
  <title>实现冲击波--数学知识很重要</title>
  <style>
  *{
  margin:0;
  padding:0;
  box-sizing:border-box;
  }
  html,body{
  font-family:"微软雅黑";
  }
  .wave{
  position:relative;
  float:left;
  width:50%;
  height:420px;
  }
  .wave a{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  display:inline-block;
  width:120px;
  height:50px;
  /*margin-left:-60px;
  margin-top:-25px;*/
  line-height:50px;
  text-align:center;
  border-radius:5px;
  color:#fff;
  font-size:16px;
  cursor:pointer;
  /*overflow:hidden;*/
  
  }
  #wave1{
  background-color:#00BFFF;
  }
  #wave2{
  background-color:#009955;
  }
  #wave1 a{
  background-color:burlywood;
  }
  #wave2 a{/*宽度不确定长度*/
  width:50%;
  height:50px;
  background-color:cadetblue;
  }
  .wave a:after{
  /*画图
 ,假设left:0;top:0然后画出两个中心点的水平和垂直距离*/
  content: "";
  display: block;
  position: absolute;
  left: -40px;
  top: -75px;
  width: 200px;
  height: 200px;
  background: rgba(255,255,255,0.8);
  border-radius: 50%;
  opacity:0;
  transition: all 1s;
  }
  .wave a:active:after{
  /*位于中间即是a的中点*/
  width: 0; 
  height: 0; 
  left:60px; 
  top: 25px;
  opacity: 1; 
  transition-duration: 0s;
  }
  
  #wave2 a:after{
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  }
  #wave2 a:active:after{
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  }
  </style>
  </head>
  <body>
  <!--实现冲击波按钮确定长度-->
  <div class="wave" id="wave1">
  <a>点我</a>
  </div>
  <!--实现冲击波按钮不确定长度时-->
  <div class="wave" id="wave2">
  <a>点我哈哈</a>
  </div>
  </body>
  </html>

实现的效果:

css3实现冲击波效果的示例代码

github代码:实现冲击波代码

备注:2018/01/09更新了考虑按钮长度不确定的情况,同时github代码已经更新

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
纯CSS3实现表单验证效果(非常不错)
Jan 18 HTML / CSS
css3强大的动画效果animate使用说明及浏览器兼容介绍
Jan 09 HTML / CSS
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
Jun 03 HTML / CSS
浅析几个CSS3常用功能的写法
Jun 05 HTML / CSS
CSS3 text-shadow实现文字阴影效果
Feb 24 HTML / CSS
CSS3实现大小不一的粒子旋转加载动画
Apr 21 HTML / CSS
html5 web本地存储将取代我们的cookie
Dec 26 HTML / CSS
【HTML5】3D模型--百行代码实现旋转立体魔方实例
Dec 16 HTML / CSS
详解h5页面在不同ios设备上的问题总结
Mar 01 HTML / CSS
可能这些是你想要的H5软键盘兼容方案(小结)
Apr 23 HTML / CSS
CSS3鼠标悬浮过渡缩放效果
Apr 17 HTML / CSS
CSS中实现动画效果-附案例
Feb 28 HTML / CSS
css3如何绘制一个圆圆的loading转圈动画
Jan 09 #HTML / CSS
浅谈CSS3中的变形功能-transform功能
Dec 27 #HTML / CSS
css3的动画特效之动画序列(animation)
Dec 22 #HTML / CSS
css3实现多个元素依次显示效果
Dec 12 #HTML / CSS
浅谈css3中calc在less编译时被计算的解决办法
Dec 04 #HTML / CSS
浅谈css3新单位vw、vh、vmin、vmax的使用详解
Dec 01 #HTML / CSS
浅谈css3中的渐进增强和优雅降级
Dec 01 #HTML / CSS
You might like
复杂检索数据并分页显示的处理方法
2006/10/09 PHP
PHP的开发框架的现状和展望
2007/03/16 PHP
PHP配置文件中最常用四个ini函数
2007/03/19 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
php链表用法实例分析
2015/07/09 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
php生成HTML文件的类方法
2019/10/11 PHP
走出JavaScript初学困境—js初学
2008/12/29 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
原生的强大DOM选择器querySelector介绍
2016/12/21 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
基于javascript中的typeof和类型判断(详解)
2017/10/27 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
2018/03/28 jQuery
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
nodejs使用node-xlsx生成excel的方法示例
2019/08/22 NodeJs
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
Python基于PycURL实现POST的方法
2015/07/25 Python
python装饰器实例大详解
2017/10/25 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
彻底解决Python包下载慢问题
2020/11/15 Python
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
祖国在我心中演讲稿
2014/01/15 职场文书
外国人聘用意向书
2014/04/01 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
个人房屋转让协议书范本
2014/10/26 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书
药店收银员岗位职责
2015/04/07 职场文书
2015年支教教师工作总结
2015/07/22 职场文书
mysql知识点整理
2021/04/05 MySQL