CSS3动画以及animation事件

1、CSS3动画以及animation事件的定义

animation :name duration timing-function delay iteration-count direction

animation-name:动画名称    animation-name:keyframename|none(keyframename:自定义名字 none:动画无效果)

animation-duration:动画执行时间   animation-duration:time(time:秒/毫秒)

animation-timing-function:动画速度曲线

animation-timing-function:value;

linnear:规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))

ease:规定以慢速开始的过渡效果(等于 cubic-bezier(0.25,0.1,0.25,1))

ease-in:规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))

ease-out:规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))

ease-in-out:规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))

cubic-bezier(n,n,n,n):在cubic-bezier函数中定义自己的值,可能的数值在0~1之间

steps(n):阶跃函数

animation-delay:动画效果延迟时间  animation-delay:time(time:秒/毫秒)

animation-iteration-count:动画执行次数  animation-iteration-count:n|infinite(n:具体次数 、infinite:无限重复)

animation-direction:动画执行方向   animation-direction:normal|alternate(normal:动画顺序播放、alternate:动画轮流反向播放)

animation-play-state:动画执行状态     animation-play-state:pause | running(paused:暂停动画、running:运行动画)

animation-fill-mode:动画执行过程效果是否可见 

animation-fill-mode:none | forwards | backwards | both (none:不改变[默认值]、forwards:当动画完成后,保持最后一个属性值[在最后一个关键帧中定义]) 、backwords:在animation所指定的一段时间内,在动画显示前,应运开始属性值(在第一个关键帧中定义)、both:向前后相后填充模式都被应用

@keyframes:规定动画

@keyframes animationname {keyframes-selector{css-styles;}}

keyframes-selector :动画时长百分比

0~100%

from(与0%相同)

to(与100%相同)

可以只有一个to

css-styles:一个或者多个合法的css样式属性

动画事件:

动画开始:obj.addEventListener("webkitAnimationStart",fn);//Chrome浏览器兼容模式

     obj.addEventListener("animationstart",fn);//其他兼容浏览器

动画执行过程中触发:

     obj.addEventListener("webkitAnimationIteration",fn);

     obj.addEventListener("animationIteration",fn);

动画结束后触发:

     obj.addEventListener("webkitAnimationEnd",fn);

     obj.addEventListener("animationEnd",fn);

2、CSS3动画以及animation事件应用示例代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>animation事件</title>
<style>
*{
margin:0;
padding: 0;
}
div{
width: 100px;
height: 300px;
background: #666;
animation: anim 2s 1s linear 3 alternate forwards ;/*第一个time是动画改变的1时间,第二个是开始之前的延时*/
}
@keyframes anim {
0%{width: 50px;}
100%{width: 300px;}
}
</style>
</head>
<body>
<div id="div"></div>
<script>
var oDiv = document.getElementById("div");
oDiv.addEventListener("webkitAnimationStart",start);
oDiv.addEventListener("animationStart",start);
oDiv.addEventListener("webkitAnimationIteration",iteration);
oDiv.addEventListener("animationIteration",iteration);
oDiv.addEventListener("webkitAnimationEnd",end);
oDiv.addEventListener("animationEnd",end);
function start() {
oDiv.style.background = "red";
}
function iteration() {
oDiv.style.background = "green";
}
function end() {
oDiv.style.background = "blue";
}
</script>
</body>
</html>

3、示例效果图

示例源码:animation事件.zip

转载请注明出处,谢谢您的合作!

时间: 2024-08-15 09:08:25

CSS3动画以及animation事件的相关文章

CSS3动画属性animation的用法

转载: 赞生博客 高端订制web开发工作组 » CSS3动画属性animation的用法 CSS3提供了一个令人心动的动画属性:animation,尽管利用animation做出来的动画没有flash或者javascript做出的动画流畅绚丽,但是从代码量和开发时间上提供了便利. animation基本语法是: animation:name keeping-time animate-function delay times iteration final; 第一个参数:name: 动画的名字,即

学习CSS3动画(animation)

CSS3就是出了不少高大上的功能,3D效果.动画.多列等等.今天写篇文章记录怎么一下怎么用CSS3写一个动画. 丑话还得说前头,IE9以及以下版本不支持CSS3动画(如真要实现可以考虑用js,不过估计效果也不太好).chrome和safafi建议加上前缀-webkit-以向前兼容老版本.   今天简单的做一个动画. 首先,先简单画一个div,然后添上背景图片. <body> <div class="demo"> 我是demo </div> </

【WEB前端系列之CSS】CSS3动画之Animation

前言 动画使用示例https://github.com/AndyFlower/web-front/tree/master/css3/loading 学习CSS3中Animation之前先来看一个动画特效(可以自己运行看下实际效果) 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title<

CSS3动画效果animation

利用CSS中animation为元素添加动画,代码格式为: animation:动画名 .75s infinite;-webkit-animation:动画名 .75s infinite; /*Safari and Chrome*/ 第二句是为了兼容谷歌浏览器等,在指定动画时需要将元素指定为相对定位:position:relative; 接着为动画指定效果: @keyframes 动画名{from {transform: none;}to {transform: scale(1.6);}} @-

CSS3动画属性animation

animation 属性是一个简写属性,用于设置六个动画属性: 1 animation-name 2 animation-duration 3 animation-timing-function 4 animation-delay 5 animation-iteration-count 6 animation-direction 例子如下 div { animation:mymove 5s infinite; -webkit-animation:mymove 5s infinite; /* Sa

CSS3动画(animation)——且听风吟720

CSS动画animation 可以让页面中指定的元素按照设定的方式“动”起来,运用的是人视觉延迟的原理,连续地在上一张图消失之前插入下一张 其中需要设置的属性值如下: 1.animation-name 对象的动画名称,以便后续设置动画属性时使用 默认为none,如果设置的话即为要设置动画的关键帧的名字 后续对该元素设置动画时,要用@keyframes,设置起始的样式(from)和终止的样式(to) 2.animation-duration 动画持续的时间(播放完成所花时间) 默认值为0,可设置单

css3动画属性-animation

一:动画属性参数的详解 简介 CSS动画(Animations)简单说就是在一段固定的动画时间内暗中在某一频率内改变其CSS某个或某些值,从而达到视觉上的转换动画效果.Animations的很多方面都是可以控制的,包括动画运行时间,开始值和结束值,还有动画的暂停和延迟其开始时间等. 语法 <' animation-name '>:检索或设置对象所应用的动画名称 <' animation-duration '>:检索或设置对象动画的持续时间 <' animation-timin

CSS3动画中的animation-timing-function效果演示

CSS3动画(animation)属性有如下几个: 属性 值 说明 animation-name name 指定元素要使用的keyframes名称 animation-duration time(ms.s) 指定动画时长 animation-timing-function linear.ease(默认).ease-in.ease-out.ease-in-out.cubic-bezier(n,n,n,n) 设置动画将如何完成一个周期 animation-delay time(ms.s) 设置动画启

CSS3动画:transition和animation(一)

1.浏览器支持情况 transform: transition: animation: 2.分别介绍他们的用法 transform 属性向元素应用 2D 或 3D 转换.该属性允许我们对元素进行旋转.缩放.移动或倾斜,即可以改变元素的形状. 语法为transform: none|transform-functions;具体的方法参见 W3CSchool上的CSS3 transform 属性介绍 transition 属性是一个简写属性,用于设置四个过渡属性: transition-propert