css3之动画(animation)

css3中我们可以使用动画,由于取代以前的gif图片,flash动画,以及部分javascript代码(相信有很多同学都用过jquery中的animate方法来做一些动画)。具体如何使用呢???

首先定义一个动画,然后引用动画。

定义一个动画要使用@keyframes,然后跟上你要定义的动画的名字。关键字"from"表示开始, "to"表示结束,等同于0% 和 100%。最好使用百分比来表示变化发生的时间,这样的话还可以定义从开始到结束中间的其它的时间状态,例如,25%,50%等等,而且使用百分比的话,浏览器的兼容性会更好。

创建过动画之后,需要绑定到选择器样式上面,这样就可以在HTML中直接引用样式,从而实现动画效果。

例如:a.定义一个从红色到黄色的动画。

@keyframes redToYelloAnimate
{
from {background: red;}
to {background: yellow;}
}

b.定义一个选择器div的样式,使用animation属性引用动画。动画的名字是redToYelloAnimate,用2s时间,从红色变到黄色。

div{
animation: redToYelloAnimate 2s;
}

animation是动画所有属性的的简写。具体包含:

animation-name: 规定@keyframes动画的名称,就是你定义动画时所起的名字。

animation-duration:完成一次完整的动画需要花费的时间,注意单位是s(秒)或者ms(毫秒),默认是0,所以这个属性必须赋值,不然没动画效果。

animation-timing-function:规定动画的速度曲线。默认是“ease”,动画是低速开始,然后加快,最后变慢直至结束。

animation-delay:动画延迟的时间,默认是0。

animation-iteration-count:动画被播放的次数,默认是1。

animation-direction:动画是否在下一个周期逆向地播放

animation-play-state:动画是否正在运行或暂停,默认是“running”

animation-fill-mode:规定对象动画时间之外的状态。

有几个属性需要说一下:

animation-timing-function规定动画的速度曲线,使用名为三次贝塞尔(Cubic Bezier)函数的数学函数,来生成速度曲线,提供了几个值,你也可以自己定义值。linear:动画一直匀速运动。ease-in 动画低速开始。ease-out动画低速结束。ease-in-out:动画低速开始和结束。cubic-bezier(n,n,n,n):在cubic-bezier 函数中定义自己的值。

animation-iteration-count动画播放的次数,值是n次或者无限次infinite。

animation-direction:alternate是反向播放,如果动画设为只播放一次,alternate不会有效果。有时需要slidedown下拉的效果,如果可以反向播放,那么slideup收起的动作就可以使用同一个动画了?!!!一开始欣喜若狂,后来发现,只播放一次,是不会有效果的,所以slidedown和slideup使用同一个动画,不可行。。。真是个大缺憾啊。。。。。。。

animation-fill-mode:none | forwards | backwards | both

none不改变默认行为。

forwards 当动画完成之后,保持最后一个属性值。如上面的例子中,如果想让div在动画结束之后一直保持黄色的话,就需要使用这个值。

backwards  在animation-delay 所制定的一段时间内,动画开始之前,使用开始属性值。

both 向前和向后填充模式都被应用。

css3 动画(animation)-简单入门的更多相关文章

  1. Qt-4.6动画Animation快速入门三字决

    Qt-4.6动画Animation快速入门三字决 Qt-4.6新增了Animation Framework(动画框架),让我们能够方便的写一些生动的程序.不必像以前的版本一样,所有的控件都枯燥的呆在伟 ...

  2. 前端CSS3动画animation用法

    前端CSS3动画animation用法 学习如下动画属性 @keyframes animation-name animation-duration animation-delay animation- ...

  3. CSS3 动画animation

    关键帧 什么是关键帧.一如上面对Flash原理的描述一样,我们知道动画其实由许多静态画面组成,第一个这样的静态画面可以表述为一帧.其中关键帧是在动画过程中体现了物理明显变化的那些帧. 比如之前的例子中 ...

  4. CSS3 动画 animation和@keyframes

    CSS3 @keyframes 规则 如需在 CSS3 中创建动画,您需要学习 @keyframes 规则. @keyframes 规则用于创建动画.在 @keyframes 中规定某项 CSS 样式 ...

  5. CSS3动画animation认识,animate.css的使用

    CSS动画 可以取代js动画 在移动端会更加流畅! 下面是一个的绘制太阳系各大行星运行轨迹笔记,可以自学参考! -------------------------------------------- ...

  6. css3动画第一式--简单翻滚

    在w3cschool上面查阅css3的动画语法手册时,发现“css3 动画”栏目首页放了一个翻滚的div动画案例,觉得挺好看的,于是就自己模仿着写了一下,感觉还行O(∩_∩)O哈哈~ 查看原地址 下面 ...

  7. Android动画Animation简单示例

    Animation是Android给我们提供的一个可以实现动画效果的API,利用Animation我们可以实现一系列的动画效果,比如缩放动画,透明度动画,旋转动画,位移动画,布局动画,帧动画等等.An ...

  8. css3动画的简单学习

    transform常用的属性(2D变化): translate(x,y) 定义 2D 转换. scale(x,y) 定义 2D 缩放转换 rotate(angle) 定义 2D 旋转,在参数中规定角度 ...

  9. css3动画animation

    动画:animation   animations这物似乎还是只在webkit,moz核心的浏览器上起作用 <!DOCTYPE html><html lang="en&qu ...

随机推荐

  1. 普林斯顿大学算法课 Algorithm Part I Week 3 排序稳定性 Stability

    稳定性(Stability):先按性质A排序,再按性质B排序,性质B相同的那些项是否仍然是按性质A排序的? 一个稳定的排序,相同值的元素应仍保持相对顺序(relative order) 稳定的算法:插 ...

  2. Day1_算法分析方法

    课堂笔记: 程序执行效率影响因子: 输入:评估时使用最坏情况输入 输入大小:考虑n渐进∞ 机器执行效率: 忽略 两种排序算法比较 插入排序n2 归并排序nlgn 递归 技能1:评估多项式的时间级数θ ...

  3. unity 距离某天还有多久

    距离某一天还有多久,简单的小例子. using UnityEngine; using System.Collections; using System; public class test : Mon ...

  4. bind新发现

    function foo(a,b){ this.val = a+b; } var bar = foo.bind(null, 'p1'); var baz = new bar('p2'); consol ...

  5. vpn pptp配置

    安装 yum install pptpd 配置pptpd 改动/etc/pptpd.conf设置 localip 192.168.20.1 remoteip 192.168.20.234-238,19 ...

  6. T-SQL开窗函数

    开窗函数over() 用途一:排序order by ,row_number select *,RANK() over(order by english desc) from Score --根据英语成 ...

  7. js的this几种用法

    1.普通的函数调用 此时指的是全局对象 function aaa(){ this.x=1;}aaa();alert(x) 2.对象内的方法this调用 此时指的是上一级对象 var aaa={ zz: ...

  8. 排序算法 -- 数据结构与算法的javascript描述 第12章

    排序是常见的功能,给定一组数据,对其进行排序. 在此之前,我们需要准备个基础工作--自动生成数组,并可以对该组数据做任何处理. /** * 测试类 ,数组 * @param numElements * ...

  9. oracle获取本月第一天和最后一天及Oracle trunc()函数的用法

    select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天", to_cha ...

  10. Linux学习之scp命令

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的,可能会稍微影响一下速度.当你服务器 ...