CSS3左右间歇晃动效果
今天在做一个活动页面时,产品想要在页面中添加一个吸引人注意的小图片左右晃动的效果,并且该效果是间歇执行的。我一想应该挺简单的吧,二话没说就答应了,谁知在真正实现的时候才发现还是有些许困难的。于是就在网上各种找资料,找的过程中,只是发现了可以左右晃动摇摆的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左右间歇晃动效果的更多相关文章
- css3图片模糊过滤效果
		css3图片过滤效果,鼠标放上后其它图片模糊,鼠标所在位置的图片是清淅的,有效索引出当前的图片,对图片的模糊处理是本特效的亮点,你完全可以将模糊的效果应用于其它的图片特效中,你同样也可借此代码研究一下 ... 
- 基于css3的轮播效果
		花了一上午来调整页面在ie10上的显示问题,sass编译生成的css文件在ie内核下一直不能正确加载,果然兼容性的问题还需要好好研究.转入正题,用css3实现轮播效果主要是基于css3的framewo ... 
- 24个 HTML5 & CSS3 下拉菜单效果及制作教程
		下拉菜单是一个很常见的效果,在网站设计中被广泛使用.通过使用下拉菜单,设计者不仅可以在网站设计中营造出色的视觉吸引力,但也可以为网站提供了一个有效的导航方案.使用 HTML5 和 CSS3 可以更容易 ... 
- 学习使用 jQuery & CSS3 制作照片堆栈效果
		在这个小实验中,我们使用 jQuery & CSS3 创建了一个交互式的照片堆栈效果.提供了一些模拟现实的互动的可能性给用户.这个想法的思路是:有一些照片在桌面上可以拖放一样,堆放和删除,每个 ... 
- 3D Grid Effect – 使用 CSS3 制作网格动画效果
		今天我们想与大家分享一个小的动画概念.这个梦幻般的效果是在马库斯·埃克特的原型应用程序里发现的.实现的基本思路是对网格项目进行 3D 旋转,扩展成全屏,并呈现内容.我们试图模仿应用程序的行为,因此 ... 
- css3.0新属性效果在ie下的解决方案(兼容性)
		css3.0增加的新属性,如投影.渐变.旋转.圆角等等!这些新标准属性在ie6.ie7.ie8浏览器版本里得不到很好的支持,相信ie以后的新版本也会支持这些新属性的.目前ie6.ie7.ie8浏览器不 ... 
- 25个CSS3 渐变和动画效果教程
		随着最新版CSS3渐变和动画功能发布,Web开发者在开发的过程中有了更多的选择.实际上,已经有了一些替代的技术,目的都是使网站的建设变得简易,高效和快速.不过CSS3所提供的渐变功能有着显著的优点,特 ... 
- ios7自带的晃动效果
		ios7自带的晃动效果 by 伍雪颖 - (void)registerEffectForView:(UIView *)aView depth:(CGFloat)depth; { UIInterpola ... 
- CSS3实现时间轴效果
		原文:CSS3实现时间轴效果 最近打开电脑就能看到极客学院什么新用户vip免费一个月,就进去看看咯,这里就不说它的课程怎么滴了,里面实战路径图页面看到了这个效果: 有点像时间轴的赶脚,而且每一块鼠标悬 ... 
随机推荐
- Python内置函数(54)——callable
			英文文档: callable(object) Return True if the object argument appears callable, False if not. If this re ... 
- ASP.NET CORE系列【二】使用Entity Framework Core进行增删改查
			介绍 EntityFrameworkCore EF core 是一个轻量级的,可扩展的EF的跨平台版本.对于EF而言 EF core 包含许多提升和新特性,同时 EF core 是一个全新的代码库,并 ... 
- python基础(初识Python)
			python基础(初识Python) 本章内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.pyc文件.脚步传入参数.变量.输入.流程控制与缩进.while循环) ... 
- Django 学生管理系统
			1. 一对一 班级 模态增加 编辑 def classes(request): data = sqlheper.get_list("select cid,title from class& ... 
- MySQL/上
			MySQL操作/上 一.视图 视图表是一个虚拟表(非真实存在),其本质是[根据sql语句获取动态的数据集,并为其命名],用户使用表只需使用(名称)即可获取结果集,并可以将其当做表来使用. 1.创建视图 ... 
- POJ-2263 Heavy Cargo---最短路变形&&最小边的最大值
			题目链接: https://vjudge.net/problem/POJ-2263 题目大意: 有n个城市,m条连接两个城市的道路,每条道路有自己的最大复载量.现在问从城市a到城市b,车上的最大载重能 ... 
- TensorFlow-Slim使用方法说明
			翻译自:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/slim TensorFlow-Slim TF- ... 
- 关于web XSS注入问题
			对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,附带公司写的一个filer. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经 ... 
- .NET Core2.0+MVC 用Redis/Memory+cookie实现的sso单点登录
			之前发布过使用session+cookie实现的单点登录,博主个人用的很不舒服,为什么呢,博主自己测试的时候,通过修改host的方法,在本机发布了三个站点,但是,经过测试,发现,三个站点使用的sess ... 
- [LeetCode] Number Complement 补数
			Given a positive integer, output its complement number. The complement strategy is to flip the bits ... 
