<!DOCTYPE html>

<html>

<head>

<style>

div

{

width:100px;

height:100px;

background:red;

position:relative;

animation:mymove 5s infinite;

-moz-animation:mymove 5s infinite; /* Firefox */

-webkit-animation:mymove 5s infinite; /* Safari and Chrome */

-o-animation:mymove 5s infinite; /* Opera */

animation-fill-mode: both;

}



@keyframes mymove

{

from {top:0px;}

to {top:200px;}

}



@-moz-keyframes mymove /* Firefox */

{

from {top:0px;}

to {top:200px;}

}



@-webkit-keyframes mymove /* Safari and Chrome */

{

from {top:0px;}

to {top:200px;}

}



@-o-keyframes mymove /* Opera */

{

from {top:0px;}

to {top:200px;}

}

</style>

</head>

<body>



<p><b>凝视:</b>本例在 Internet Explorer 中无效。

</p>



<div></div>



</body>

</html>  这是摘自w3school的一段关于keyframes的代码,大家有兴趣的能够看一下,

http://www.w3school.com.cn/tiy/t.asp?f=css3_keyframes

大家能够看到一个红色正方形,从上方运动到以下。再高速回到上面,再按animation:5s;从上面运动到下方,这样周而复始.那么在这个里面起关键的是keyframes,定义了动画,而animation:infinite 5s;则定义了动画效果。当中infinite代表的是循环,周而复始的这个过程。去掉这个,我们则看到红色正方形缓缓下来之后再高速回到上面后就不再动了。

那么我们想使正方形运动一次后留在以下,应该怎样处理,这就是animation-fill-mode的作用。我今天在teambition站点上看到了他们的导航条的效果便是利用了这个,依据w3,animation-fill-mode有四个属性,none,forwards,backwards,both,当中none和forwards使得运动物体动画结束后回到动画前的状态,而both和forwards则使运动物体在动画结束后保留动画结束前最后一帧的效果。因此如 果我们希望正方形运动一次后停在下方,则须要使用animation-fill-mode这个属性。

而alternate则是达到往返效果,我们在实现摆钟动画时往往可能须要这个,我们不可能希望摆钟从左摆到右是一个我们确定的频率。从右摆到左又是一个急速的状态,没有保持一致。

这样视觉上会大打折扣,大家能够在这个红色正方形上实验一下。

譬如animation:mymove 5s infinite;变为 animation:mymove 5s infinite alternate;

来实际观察一下效果。

如有问题请及时告诉我。大家共同学习啦。

animation几个比較好玩的属性(alternate,及animation-fill-mode)的更多相关文章

  1. animation几个比较好玩的属性(alternate,及animation-fill-mode)

    <!DOCTYPE html> <html> <head> <style> div { width:100px; height:100px; backg ...

  2. Android动画主要包含补间动画(Tween)View Animation、帧动画(Frame)Drawable Animation、以及属性动画Property Animation

    程序运行效果图: Android动画主要包含补间动画(Tween)View Animation.帧动画(Frame)Drawable Animation.以及属性动画Property Animatio ...

  3. CSS3动画属性:动画(animation)

    一:动画(animation)的参数详解 由于上面用到了animation动画,这里详细介绍下这个animation的参数. 简介 CSS动画(Animations)简单说就是在一段固定的动画时间内暗 ...

  4. Android 动画——属性动画Property Animation

    Android在3.0之前只提供了两种动画:View Animation .Drawable Animation .也就是我们在<Android 动画——Frame Animation与Twee ...

  5. IT兄弟连 HTML5教程 CSS3属性特效 动画-animation

    CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation.前面已经介绍过Transform和Transition了,这里我们来学习Animation动画.通 ...

  6. 使用属性动画 — Property Animation

    属性动画,就是通过控制对象中的属性值产生的动画.属性动画是目前最高级的2D动画系统. 在API Level 11中添加.Property Animation号称能控制一切对象的动画,包括可见的和不可见 ...

  7. css3 transition属性变化与animation动画的相似性以及不同点

    下面列子中的2个图片的效果. http://zqtest.e-horse.cn/DongXueImportedCar/assets/mouseOverAnimate.html 第一个为transiti ...

  8. CSS3与动画有关的属性transition、animation、transform对比

    最近应公司需求,需要用css3做动画,终于把以前一直傻傻分不清楚的三个属性理解了. 索性在这里进行一个简单的对比,加深自己的记忆. 浏览器兼容性 CSS3 transform 属性 Internet ...

  9. 使用属性动画 — Property Animation

    属性动画,就是通过控制对象中的属性值产生的动画.属性动画是目前最高级的2D动画系统. 在API Level 11中添加.Property Animation号称能控制一切对象的动画,包括可见的和不可见 ...

随机推荐

  1. 单链表的增、删、改、减(C++)

    首先是是一个简单的例子,单链表的建立和输出. 程序1.1 #include<iostream> #include<string> using namespace std; st ...

  2. openerp many2many

    many2many (0,0,{values}) 根据values里面的信息新建一个记录. (1,ID,{values})更新id=ID的记录(写入values里面的数据) (2,ID) 删除id=I ...

  3. 封装document.getElementById(id)

      CreateTime--2016年12月18日11:42:45Author:Marydon封装document.getElementById(Id)方法 <script type=" ...

  4. Codeforces554C:Kyoya and Colored Balls(组合数学+费马小定理)

    Kyoya Ootori has a bag with n colored balls that are colored with k different colors. The colors are ...

  5. 12、static final

    Java中修饰常量用static final 用static final同时修饰的变量只能是成员变量而不能是局部变量 初始化: ①:定义时赋值 ②:静态代码块static{}中赋值 static 和 ...

  6. Android开发之动态检索(Filter)联系人

    1. 将所有联系人都转换为数字串,存到列表中. 将联系人姓名转换为数字串.例如,张丽思创->zlsc->9572. 过程解析: 张 – zhang – z – 9 丽 – li – l – ...

  7. 微信小程序调用后台接口+热点新闻滚动展示

    1.微信JS文件,发送请求调用:  //将返回接口数据,写入Page({data})里面 //获取热点新闻,这个也是写在onload:function(){//code)里面的 wx.request( ...

  8. 【mysql】Innodb三大特性之adaptive hash index

    1.Adaptive Hash Indexes 定义 If a table fits almost entirely in main memory, the fastest way to perfor ...

  9. get请求乱码情况

    编写一个RegistServlet处理用户的Get请求数据 public void doGet(HttpServletRequest request, HttpServletResponse resp ...

  10. Redis基本操作——List

    Redis基本操作——List(原理篇) 学习过数据结构的同学,一定对链表(Linked List)十分的熟悉.相信我们自己也曾经使用过这种数据结构. 链表分为很多种:单向链表,双向链表,循环链表,块 ...