今天在做一个活动页面时,产品想要在页面中添加一个吸引人注意的小图片左右晃动的效果,并且该效果是间歇执行的。我一想应该挺简单的吧,二话没说就答应了,谁知在真正实现的时候才发现还是有些许困难的。于是就在网上各种找资料,找的过程中,只是发现了可以左右晃动摇摆的css3动画效果,却没有可以间歇执行的类似的动画效果。最后我想到了以前写的一个可以间歇向上无缝滚动的css3的效果,拿来一试,也不行。最后在SegmentFault上有个同行的一段代码提醒了我,于是就有了以下可以实现间歇左右晃动的css3效果。代码如下:

.cake{animation:move 3s 0s infinite;-webkit-animation:move 3s 0s infinite;transform-origin:bottom;-webkit-transform-origin:bottom;}

@keyframes move
{
0%, 65%{
-webkit-transform:rotate(0deg);
transform:rotate(0deg);
}
70% {
-webkit-transform:rotate(6deg);
transform:rotate(6deg);
}
75% {
-webkit-transform:rotate(-6deg);
transform:rotate(-6deg);
}
80% {
-webkit-transform:rotate(6deg);
transform:rotate(6deg);
}
85% {
-webkit-transform:rotate(-6deg);
transform:rotate(-6deg);
}
90% {
-webkit-transform:rotate(6deg);
transform:rotate(6deg);
}
95% {
-webkit-transform:rotate(-6deg);
transform:rotate(-6deg);
}
100% {
-webkit-transform:rotate(0deg);
transform:rotate(0deg);
}
} @-webkit-keyframes move
{
0%, 65%{
-webkit-transform:rotate(0deg);
transform:rotate(0deg);
}
70% {
-webkit-transform:rotate(6deg);
transform:rotate(6deg);
}
75% {
-webkit-transform:rotate(-6deg);
transform:rotate(-6deg);
}
80% {
-webkit-transform:rotate(6deg);
transform:rotate(6deg);
}
85% {
-webkit-transform:rotate(-6deg);
transform:rotate(-6deg);
}
90% {
-webkit-transform:rotate(6deg);
transform:rotate(6deg);
}
95% {
-webkit-transform:rotate(-6deg);
transform:rotate(-6deg);
}
100% {
-webkit-transform:rotate(0deg);
transform:rotate(0deg);
}
}

原理就是首先将完成动画效果的时间设置的长一点,在文中也就是3s,然后在动画开始的几秒钟内不做任何动作,也就是在0%到65%之间不做任何动作,让它的rotate角度一直是0deg(其实在0%到65%之间时左右晃动的动画也在执行,只是晃动的角度一直是0deg,所以在这个进度内我们看不出来实际的动画效果),等动画的进度到了70%时再开始动作,那么剩余的时间就是我们能看到的左右晃动动画的执行时间了。

感谢https://segmentfault.com/q/1010000000321090这里的网友的解答给出的灵感。

以下附上源代码:

CSS3间歇左右晃动效果

最新文章

  1. 旧版本APP被开发人员下架,新版本重新上传依然显示被下架
  2. 【HTML】 frame和iframe的区别
  3. airline 設定 安裝
  4. mac os x使用技巧及常用软件
  5. avalon2学习教程11数据联动
  6. APP被Rejected 的各种原因翻译(转)
  7. C# List<T>的详细用法
  8. 修改Request 中的数据
  9. 使用 connect http proxy 绕过 ssh 防火墙限制
  10. font-family
  11. 微信小程序的桌面图标问题
  12. WPF在Canvas中绘图实现折线统计图
  13. Greenplum和Postgresql的主键自增
  14. ftp权限设置大全!!!
  15. python基础--列表、元祖、字典、集合
  16. ios --xib自定义,解决在导航栏不透明的情况下,自定义xib view高度被压缩64的问题
  17. 洗礼灵魂,修炼python(42)--巩固篇—type内置函数与类的千丝万缕关系
  18. css selectors tips
  19. 了解java虚拟机—堆相关参数设置(3)
  20. 如何使用optipng压缩png图片

热门文章

  1. ajax中设置contentType: “application/json”的作用
  2. SpringCloud应用入库后乱码问题
  3. Spark入门(1-4)安装、运行Spark
  4. Archaius 原理
  5. Couchbase忘记登录密码怎么办
  6. 微信小程序开发-IP地址查询-例子
  7. 用js来实现那些数据结构05(栈02-栈的应用)
  8. 新购阿里云服务器ECS创建之后无法ssh连接的问题处理
  9. [LeetCode] Poor Pigs 可怜的猪
  10. 实战分享:如何成功防护1.2T国内已知最大流量DDoS攻击