CSS 动画 animation

1、基本属性介绍

动画(animation):和过渡类似,都是可以实现一些动态的效果,不同的是过渡需要在某个属性发生变化时才可以触发,而动画效果则可以自动触发动态效果。设置动画效果必须先要设置一个关键帧,关键帧设置了动画执行的每一个步骤。关键帧设置的格式如下:

<style>/* 定义动画关键帧,关键帧的名字为test */@keyframes test{/* from表示动画的开始位置,也可以使用0%来表示。 */from{margin-left: 0;}/* to表示动画的结束位置,也可以使用100%来表示。 */to{margin-left: 100%;}}
</style>

定义好关键帧后,就可以在响应的元素中使用这个关键帧了,关键帧的属性和 过渡 中的一些属性设置方式是一样的,关键帧的一些常见属性如下:

animation-name: 要对当前元素生效的关键帧的名字,如:animation-name: test;

animation-duration: 动画的执行时间,如:animation-duration: 4s;

animation-iteration-count: 动画执行的次数,如:animation-iteration-count: 4,可选值:数字或infinite,其中数字的大小就是执行的次数,而infinite则表示无限次。

animation-timing-function: 指定动画执行的时序函数;

animation-direction: 指定动画运行的方向,可选值如下:

  • normal,默认值,从from到to运行,每次都是这样;
  • reverse,从to到from运行,每次都是这样;
  • alternate,从from向to运行,重复执行动画时会方向执行,即第一个是从from到to,第二次则是从to到from……;
  • alternate-reverse,与alternate的执行时反向的;

animation-play-state: 控制动画的运行状态,可选值如下:

  • running,默认值,动画运行;
  • paused,动画暂停;

animation-fill-mode: 动画的填充模式,可选值如下:

  • none,默认值,动画执行完毕后,元素回到原来的位置;
  • forwards,动画执行完毕后,元素会停止在动画执行结束的位置;
  • backwards,动画延时等待时,元素就会处于开始的位置,即from或to所指定的位置;
  • both,结合了forwards和backwards;

2、简写属性

可以使用animation一个属性来实现上面所介绍的所有属性,在使用animation时,格式如下:

animation: name duration timing-function delay iteration-count direction fill-mode;

需要注意的是,在写时间时,持续时间是在延迟时间的前面即可。

/*表示动画关键帧的名字为test,延迟一秒钟之后开始执行,持续时间两次,重复执行4次,时序函数为匀速运动,重复执行时方向为alternate。*/
animation: test 2s linear 1s 4 alternate;

练习代码如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>动画</title><style>.box1{width: 700px;height: 500px;background-color: silver;}.box2{width: 100px;height: 100px;background-color: #bfa;margin-left: 10px;/* animation-name: test; *//* animation-duration: 4s; *//* animation-timing-function: linear; *//* animation-iteration-count: 4; *//* animation-direction: alternate; *//* animation-fill-mode: backwards; *//* animation-delay: 2s; */animation: test 2s linear 1s 4 alternate;}/* 定义动画关键帧,关键帧的名字为test */@keyframes test{/* from表示动画的开始位置,也可以使用0%来表示。 */from{margin-left: 50px;background-color: orange;}/* to表示动画的结束位置,也可以使用100%来表示。 */to{margin-left: 600px;background-color: yellow;}}/* 控制动画的运行 *//* .box1:hover .box2{animation-play-state: paused;} */</style>
</head>
<body><div class="box1"><div class="box2"></div></div>
</body>
</html>

CSS 动画 animation相关推荐

  1. css动画animation详细解读

    以一个小球为例    向右匀速运动200px  然后再移动回来,然后再移动到200px处 停在那里 效果如下 div{width:40px;height:40px;border-radius:50%; ...

  2. css动画-animation各个属性详解(转)

    CSS3的animation很容易就能实现各种酷炫的动画,虽然看到别人的成果图会觉得很难,但是如果掌握好各种动画属性,做好酷炫吊炸天的动画都不在话下,好,切入正题.  一.动画属性:  动画属性包括: ...

  3. HTML5 CSS动画 animation使用

    首先看一下页面的布局 <body><div class="box1"><div class="box2"></div& ...

  4. css动画 animation

    今天用css做了一个简单的三角上下移动的一个小动画,说白了就是在改变该物体的height值.除了这个方法,还可以用js. 一.在用css写动画时,一定要记住兼容性问题.如何解决该兼容性?在前面加内核前 ...

  5. css动画 animation

    1. 线性渐变 线性渐变指的是颜色沿一条直线进行渐变(例如右上到下,从左到右等),要创建线性渐变,您至少需要定义两个色标(色标指的是想要平滑过渡的颜色),若要创建更加复杂的渐变效果,则需要定义更多的色 ...

  6. css动画-animation各个属性详解(通俗易懂)

    https://blog.csdn.net/chritina/article/details/99623017

  7. CSS动画实现心跳效果

    CSS动画实现心跳效果 简介 实现步骤 代码 效果 简介 使用CSS动画animation 和tranform(缩放.旋转). 实现步骤 添加p元素内容之前/之后插入,一个宽为100px,高为160p ...

  8. html怎么添加积分系统,CSS动画实现领积分效果的思路详解

    最近项目中要做一个领积分的效果,根据老板的描述,这个效果类似于支付宝蚂蚁森林里的领取能量.整体效果是就是在树周围飘着几个积分元素,上下滑动,类似星星闪烁,点击领取后,沿着树中心的位置滑动并消失,树上的 ...

  9. html5监听动画结束,js判断css动画是否完成 animation,transition

    气死了,发现这些鸟人讲事情都讲一半,害死初学者. css动画有两种,animation,transition,所以分开来讲. 1.animation: css定义 #left1{} html定义: 安 ...

  10. css动画(transition/transform/animation)

    在开发中,一个好的用户操作界面,总会夹杂着一些动画.css用对少的代码,来给用户最佳的体验感,下面我总结了一些css动画属性的使用方法及用例代码供大家参考,在不对的地方,希望大佬直接拍砖评论. 1 t ...

最新文章

  1. 使用字典编码每个字再编码每句话不知对nlp是否有帮助(深度大脑)
  2. 常用linux下网络相关命令
  3. iOS之深入解析Cocoapods的工作原理与源码分析
  4. 国家杰出青年入选者分析:北大最多,深大成“黑马”
  5. mySQL教程 第7章 存储过程和函数
  6. OpenCV--cvScaler颜色赋值
  7. Matlab 图像采集工具的使用 - Image Acquisition Toolbox【IAT】 + 大恒相机的应用【1】+多个摄像头支持
  8. 组合算法 C++高效实现 (二进制辅助法)
  9. InstanceBeginEditable dw中特有标识
  10. AcWing 1813. 方块游戏(暴力枚举)
  11. jQuery对象和DOM对象的区别
  12. delphi官方iso下载地址
  13. 南京互联网IT公司推荐
  14. 阿里云Centos6数据盘扩容的问题处理
  15. 星际迷航的William Shatner发推文支持Vitalik Buterin
  16. mysql的联接算法_【MySQL—SQL编程】联接
  17. [转载]洛谷日报索引
  18. TensorFlow基础学习
  19. 软考——RAID技术及网络存储技术知识小结
  20. 使用国标流媒体服务器查看监控摄像头视频流如何正确使用UDP及TCP协议?

热门文章

  1. seo网站优化,SEO优化费用
  2. android+刷机文件,【技术】刷机脚本文件的修改
  3. 微信小程序audio的简单实用
  4. Java基础恶补系列
  5. 各位大佬,别再拿人工智能当春药了!
  6. 学生报告-大学生活经验
  7. Windows7Windows10兼容红色警戒
  8. 复合高斯求积matlab代码,谁有复何求积公式和高斯求积公式在matlab中实现的代码...
  9. cad多段线画圆弧方向_怎样在cad中利用多线画圆弧
  10. 如何批量给图片加水印?