1分钟深入了解CSS3的动画属性animation
拖好久的animation…温馨提示,先看效果,代码附在讲解后
上篇说到@keyframe可以定义动画,animation就是将@keyframe所定义好的动画添加在元素身上。
animation可以传8个参数,常用的有6个,动画名称(@keyframe定义好的),执行时长,动画类型(默认ease),执行延时时常(默认0),动画循环次数(默认1),运动方向(默认normal)
对定义动画有问题移步@keyframe,执行和执行延时时长也木得问题,重点讲动画类型、动画循环次数、运动方向
1.动画类型
动画类型的属性值与transition相同,ease,linear,ease-in,ease-out,ease-in-out,cubic-bezier,step-start,step-end,steps(num,[ start | end ] ),除了step系列,其余在transition中和贝塞尔曲线中讲过CSS3过渡属性transition详解、贝塞尔曲线,那么就来康康step系列吧
(1)steps(num, start / end)
知识点1:num表示该动画的上一关键帧到下一关键帧分几步完成,步数越多动画越细腻,举个例子吧,图1为linear属性值的动画效果,图2为属性值为steps(1, end)的动画效果。
知识点2:end与start的区别。end表示保留当前帧状态,直到这一关键帧动画结束,忽略最后一帧的效果(由图1图2对照可知最后一帧绿色没有显示),配合使用forwards,可以看到最后一帧,如图3
start保留下一段帧状态,直到这段一关键帧动画结束,忽略第一帧的状态,如图4,没有显示第一帧的黄色,一般不常使用start
再举一个分4步执行一个关键帧的例子,如图5
(2)step-end与step-start
step-end相当于steps(1, end),step-start相当于steps(1, start)
2.动画循环次数
可以填num / infinite,num表示确定循环多少次,infinite表示循环无数次
3.运动方向
可以填normal(默认),reverse(反方向),alternate(正方向->反方向->正方向),alternate-reverse(反方向->正方向->反方向),与infinite配合使用,举例alternate,如图6,其中小方块在左下角停留没有移动到左上角就是因为end忽略最后一帧的问题
以上所有例子代码如下
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}@keyframes run {0% {left: 0;top: 0;background-color: #ffb;}25% {left: 100px;top: 0;background-color: #fbf;}50% {left: 100px;top: 100px;background-color: #bff;}75% {left: 0px;top: 100px;background-color: #fbb;}100% {left: 0px;top: 0px;background-color: #bfb;}}.wrapper {width: 200px;height: 200px;border: 1px solid #000;position: absolute;left: 100px;top: 100px;}.demo {position: absolute;width: 100px;height: 100px;background-color: #bbf;}.run {/* animation: run 4s linear infinite; *//* animation: run 4s steps(1,end); *//* animation: run 4s steps(4,end); *//* end + forwards *//* animation: run 4s steps(1,end) forwards; *//* animation: run 4s step-end; *//* animation: run 4s steps(1,start) alternate; */animation: run 4s steps(1,end) infinite alternate;}button {position: absolute;width: 50px;height: 25px;line-height: 25px;top: -26px;left: -1px;}</style>
</head><body><div class="wrapper"><div class="demo"></div><button>run</button></div></body>
<script>var demo = document.getElementsByClassName('demo')[0];var runBtn = document.getElementsByTagName('button')[0];runBtn.onclick = function () {demo.classList += " run";}
</script></html>
我的承诺兑现啦,动画结束后,CSS3的内容剩transform了
但是暂时不打算更CSS3了,一方面博主已经学到bootstrap啦~~~,另一方面其实博主自己也没搞很明白呢,感觉讲不清楚,个人觉得虽然效果很炫酷吧,但是不是很常用的样子呀,所以拖一拖,以后再更吧
所以接下来直接更bootstrap了,加油啦!
1分钟深入了解CSS3的动画属性animation相关推荐
- css情景动画,css3中的动画属性animation应用场景及编写代码教程
讲解一下css3中的动画属性animation应用场景及编写代码教程 以下讨论的是和css3 动画 属性 animation 相关的css3中的动画属性animation应用场景及编写代码教程教程文章 ...
- CSS3动画属性 animation详解(看完就会)
CSS3动画属性 animation 文章包含个人理解错误请指出 往期文章 [css高级]变量详解 轮播图swiper框架的基本使用 [Transform3D]转换详解(看完就会) [css动画] ...
- 不炫技,SVG+CSS3 旋转动画属性就能实现的梦幻效果
CSS3的动画相关的基础的属性基本都涉猎过了,个人认为,其中最复杂的是d:path()路径变形动画,超过3D,而位移.轨迹.旋转.缩放.斜切什么的,相对简单一些,但作为非动画设计师而言,灵活的掌握这些 ...
- html css动画自动旋转,不炫技,SVG+CSS3 旋转动画属性就能实现的梦幻效果
CSS3的动画相关的基础的属性基本都涉猎过了,个人认为,其中最复杂的是d:path()路径变形动画,超过3D,而位移.轨迹.旋转.缩放.斜切什么的,相对简单一些,但作为非动画设计师而言,灵活的掌握这些 ...
- css3动画属性animation
一,animation属性 1.在css3中定义了新属性animation用于制作动画效果 2.一个完整的动画效果由animation属性和@keyframes动画帧组成. 二,animation子属 ...
- 使用css3的动画属性@keyframes创建小说轮播图
最近一直在琢磨做一个小说网站模板,在寻找灵感时发现一个很好的小说展示效果-小说三维轮播,如下图所示: 这种小说轮播展示方法不仅美观而且节省页面空间,那么他到底怎么实现的呢?由于本人是一个小白,所以去网 ...
- 11、CSS3的动画效果(animation)
1.动画效果(animation) animation属性值 动画名称.动画时间.速度.延迟.次数 animation-name 规定需要绑定到选择器的keyframe名称 animation-dur ...
- css3新增动画属性(过度动画 变形动画 关键帧动画)
目录 过度动画transition 多属性值过渡 2d变形transform 平移 应用:实现居中(不要求知道盒子的宽高) 缩放 旋转 倾斜 修改变形中心的属性 变形属性的复合写法 3D变形动画 3d ...
- CSS3 自定义动画(animation)
除了在之前的文章中介绍过的 CSS3 的变形 (transformation) 和转换 (transition) 外,CSS3 还有一种自由度更大的自定义动画,开发者甚至可以使用变形(transfor ...
最新文章
- mysql分页 redis_分页查询和redis
- 计算2个时间之间经过多少Ticks
- div固定在浏览器顶部_关于浏览器的兼容问题
- rails常用验证方法 (转)
- XamlReader 动态加载XAML
- 毕业设计-基于Javaweb实现超市管理系统
- 华为LTC/IPD/ITR三大核心流程变革看一篇文章就全明白啦!
- 详细讲解修改allure报告自定义的logo和名称中文
- LTE中的CQI RI PMI参数
- 一个软件项目如何做成本预估
- 在SQLserver中如何获得两个日期相减的天数?
- Python编程之四书五经
- IDEA运行main方法找不到类java.lang.ClassNotFoundException: javax.servlet.ServletRequest
- foxmail导地址簿 乱码_foxmail的乱码之谜
- iOS 保持APP在后台长时间运行
- 杭电ACM 1713 相遇周期
- Bellman算法和SPFA算法
- 加载dll出错的解决方法
- 第一个C跨平台工具whoport
- 怀旧服显示服务器已满,魔兽世界怀旧服还未开启就已人满为患