基于CSS3的animation属性实现微信拍一拍动画效果


Posted in HTML / CSS onJune 22, 2020

看到最近流行的微信拍一拍功能,复习下CSS3的animation,所以写下这个盒子晃动的动画,把qq的窗口抖动也加上吧

@-webkit-keyframes shake {
    0% {
        -webkit-transform: translate(2px, 2px);
    }

    25% {
        -webkit-transform: translate(-2px, -2px);
    }

    50% {
        -webkit-transform: translate(0px, 0px);
    }

    75% {
        -webkit-transform: translate(2px, -2px);
    }

    100% {
        -webkit-transform: translate(-2px, 2px);
    }
}

@keyframes shake {
    0% {
        transform: translate(2px, 2px);
    }

    25% {
        transform: translate(-2px, -2px);
    }

    50% {
        transform: translate(0px, 0px);
    }

    75% {
        transform: translate(2px, -2px);
    }

    100% {
        transform: translate(-2px, 2px);
    }
}

.shake {
    position: relative;
    top: 30px;
    left: 100px;
    height: 200px;
    width: 200px;
    color: #ff0000;
    background: #000;
}

.shake:hover {
    -webkit-animation: shake 0.2s infinite;
    animation: shake 0.2s infinite;
}
 /*活动摇摆动画*/
 @-webkit-keyframes swing {
  10% {
    transform: rotate(15deg);
  }
  20% {
    transform: rotate(-10deg);
  }
  30% {
    transform: rotate(5deg);
  }
  40% {
    transform: rotate(-5deg);
  }
  50%,100% {
    transform: rotate(0deg);
  }
}
@-moz-keyframes swing {
  10% {
    transform: rotate(15deg);
  }
  20% {
    transform: rotate(-10deg);
  }
  30% {
    transform: rotate(5deg);
  }
  40% {
    transform: rotate(-5deg);
  }
  50%,100% {
    transform: rotate(0deg);
  }
}
@-o-keyframes swing {
  10% {
    transform: rotate(15deg);
  }
  20% {
    transform: rotate(-10deg);
  }
  30% {
    transform: rotate(5deg);
  }
  40% {
    transform: rotate(-5deg);
  }
  50%,100% {
    transform: rotate(0deg);
  }
}
@keyframes swing {
  10% {
    transform: rotate(12deg);
  }
  20% {
    transform: rotate(-11.5deg);
  }
  30% {
    transform: rotate(1deg);
  }
  40% {
    transform: rotate(-1deg);
  }
  50%,100% {
    transform: rotate(0.5deg);
  }
}
.stagger {
  background-color: #ff0000;
  width: 60px;
  height: 60px;
}
.stagger1{
  animation: swing .5s .15s linear 1;
  /* animation-play-state: paused; */
}
 <!-- qq窗口抖动 -->
  <div class="shake">qq窗口抖动</div>
  <!-- 微信拍拍头像晃动 -->
  <div class="stagger">微信拍拍头像晃动</div>
document.querySelector('.stagger').addEventListener('click', function() {
      document.querySelector('.stagger').classList.add('stagger1')
      console.log('papa nudged baby')
})
	/*每次点击实现动画,注意监听动画结束,移除动画类,后再添加动画类
    document.querySelector('.stagger').addEventListener('animationend', function() {
      document.querySelector('.stagger').classList.remove('stagger1')
    })

到此这篇关于基于CSS3的animation属性实现微信拍一拍动画效果的文章就介绍到这了,更多相关css3 微信拍一拍功能内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
详解CSS中iconfont的使用
Aug 04 HTML / CSS
CSS3对背景图片的裁剪及尺寸和位置的设定方法
Mar 07 HTML / CSS
CSS3让登陆面板3D旋转起来
May 03 HTML / CSS
浅谈css3中calc在less编译时被计算的解决办法
Dec 04 HTML / CSS
CSS 3.0 结合video视频实现的创意开幕效果
Jun 01 HTML / CSS
CSS3实现线性渐变用法示例代码详解
Aug 07 HTML / CSS
详解css3中的伪类before和after常见用法
Nov 17 HTML / CSS
HTML5中视频音频的使用详解
Jul 07 HTML / CSS
HTML5利用约束验证API来检查表单的输入数据的代码实例
Dec 20 HTML / CSS
canvas环形倒计时组件的示例代码
Jun 14 HTML / CSS
html5 canvas的绘制文本自动换行的示例代码
Sep 17 HTML / CSS
萌新的HTML5 入门指南
Nov 06 HTML / CSS
CSS3为背景图设置遮罩并解决遮罩样式继承问题
Jun 22 #HTML / CSS
CSS3 box-shadow属性实例详解
Jun 19 #HTML / CSS
CSS3新增布局之: flex详解
Jun 18 #HTML / CSS
如何使用css3实现一个类在线直播的队列动画的示例代码
Jun 17 #HTML / CSS
CSS3+JavaScript实现炫酷呼吸效果的示例代码
Jun 15 #HTML / CSS
CSS3中引入多种自定义字体font-face
Jun 12 #HTML / CSS
详解CSS3实现响应式手风琴效果
Jun 10 #HTML / CSS
You might like
php设计模式 Observer(观察者模式)
2011/06/26 PHP
基于json的jquery地区联动效果代码
2011/07/06 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
2013/01/25 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
浅析Node在构建超媒体API中的作用
2014/07/30 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
uploadify多文件上传参数设置技巧
2015/11/16 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
jQuery加载及解析XML文件的方法实例分析
2017/01/22 Javascript
基于jQuery实现的单行公告活动轮播效果
2017/08/23 jQuery
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
2017/10/12 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
2017/12/09 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
Python 字符串定义
2009/09/25 Python
Python的gevent框架的入门教程
2015/04/29 Python
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
2019/07/04 Python
python Django的web开发实例(入门)
2019/07/31 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
Python如何实现强制数据类型转换
2019/11/22 Python
django 实现简单的插入视频
2020/04/07 Python
python属于解释型语言么
2020/06/15 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
教师批评与自我批评发言稿
2014/10/15 职场文书
领导干部个人整改措施落实情况汇报
2014/10/29 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
旅游安全责任协议书
2016/03/22 职场文书