基于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 相关文章推荐
CSS3实现任意图片lowpoly动画效果实例
May 11 HTML / CSS
HTML5和CSS3让网页设计提升到下一个高度
Aug 14 HTML / CSS
css3 border-image使用说明
Jun 23 HTML / CSS
CSS3实现同时执行倾斜和旋转的动画效果
Oct 27 HTML / CSS
详解CSS3原生支持div铺满浏览器的方法
Aug 30 HTML / CSS
HTML5的标签的代码的简单介绍 HTML5标签的简介
May 28 HTML / CSS
html5 桌面提醒:Notifycations应用介绍
Nov 27 HTML / CSS
HTML5 Canvas锯齿图代码实例
Apr 10 HTML / CSS
使用分层画布来优化HTML5渲染的教程
May 08 HTML / CSS
HTML5 Blob 实现文件下载功能的示例代码
Nov 29 HTML / CSS
Html5踩坑记之mandMobile使用小记
Apr 02 HTML / CSS
解决flex布局中子项目尺寸不受flex-shrink限制
May 11 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
怎么使 Mysql 数据同步
2006/10/09 PHP
浅析php中jsonp的跨域实例
2013/06/21 PHP
PHP实现判断数组是一维、二维或几维的方法
2017/02/06 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
javascript cookie解码函数(兼容ff)
2008/03/17 Javascript
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
JavaScript arguments 多参传值函数
2010/10/24 Javascript
Jquery ajaxsubmit上传图片实现代码
2010/11/04 Javascript
JavaScript中的排序算法代码
2011/02/22 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
javascript级联下拉列表实例代码(自写)
2013/05/10 Javascript
appendChild() 或 insertBefore()使用与区别介绍
2013/10/11 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
浅析Node.js 中 Stream API 的使用
2015/10/23 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
2015/10/29 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
vue项目中定义全局变量、函数的几种方法
2019/11/08 Javascript
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
python多线程高级锁condition简单用法示例
2019/11/07 Python
pandas 数据类型转换的实现
2020/12/29 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
摄影助理岗位职责
2014/02/07 职场文书
商学院大学生求职的自我评价
2014/03/12 职场文书
大学生推广普通话演讲稿
2014/09/21 职场文书
信访工作汇报材料
2014/10/27 职场文书
大学生见习总结报告
2015/06/24 职场文书
无线电知识基础入门篇
2022/02/18 无线电
MySQL去除密码登录告警的方法
2022/04/20 MySQL