CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation。前面已经介绍过Transform和Transition了,这里我们来学习Animation动画。通过CSS3,我们能够创建动画,可以在许多网页中取代动画图片、flash动画以及JavaScript。

1  关键帧keyframes

如需在CSS3中创建动画,我们需要先学习@keyframes规则。前面所提到transition制作的过渡效果,包括了初始属性和最终属性,一个开始执行动作时间和一个延续动作时间以及动作的变换速率,其实这些值都是一个中间值。如果我们想要控制得更细一些,比如我们要第一个时间执行什么动作,第二个时间执行什么样的动作(就如flash中说的第一帧要执行什么,第二帧要执行什么动作),这样用transition就很难实现了,此时我们就需要这样的一个“关键帧”来控制。那么CSS3的animation的“keyframes”这个属性来实现这样效果。

@keyframes规则用于创建动画,在@keyframes中规定某项CSS样式,就能创建由当前样式逐渐改为新样式的动画效果。@keyframes的格式如下:

@keyframes动画名称{

     from{

properties: properties value;

}

percentage{

properties: properties value;

}

to{

properties: properties value;

}

}

或者

@keyframes动画名称{

     0%{

properties: properties value;

}

percentage{

properties: properties value;

}

100%{

properties: properties value;

}

}

其中percentage是百分比值,我们可以添加许多个这样的百分比,properties为css的属性名,比如说left,background等,value就是相对应的属性的属性值。值得一提的是,我们from和to 分别对应的是0%和100%。这个我们在前面也提到过了。

一起来看一个简单的实例,代码如下:

CSS animation动画效果将会影响元素相对应的css值,在整个动画过程中,元素的变化属性值完全是由animation来控制,动画后面的会覆盖前面的属性值。如上面例子:因为我们这个案例只是在不同的时间段改变了div的背景色和宽度,其默认值是:width:100px;background:red;但当我们在执行动画“from”时,div属性发生改变:width:100px,background:red;当执行到50%时,属性变成了:width:200px;background:blue;当动画 执行到“from”时,属性改变:width:400px;background: green;此时动画将完成,那么width和background两个属性值将是以“to”时的为主,他不会产生叠加效果,只是一次一次覆盖前一次出现的css属性。就如我们平时的css一样,最后出现的权根是最大的。当动画结束后,样式回到默认效果。下面是该动画过程的截图,如图1所示:

图1  animation动画执行

2  animation动画属性

animation的动画属性如表1-32:

表1-32  animation属性及描述

animation的动画属性包含必要属性和可选属性。必要属性包括animation-name(动画名称)、animation-duration(动画持续时间)、animation-play-state(播放状态),其余属性为可选属性。

对于上表中属性的设置,我们可以分别设置。这里以animation-timing-function规定动画的速度曲线为例。修改动画的速度曲线为“ease-in-out”,使动画先加速然后减速,修改wrap的CSS代码如下:

其余的动画属性也同样设置,读者感兴趣的话,可以为每个动画属性设置不同取值来深入了解animation。

IT兄弟连 HTML5教程 CSS3属性特效 动画-animation的更多相关文章

  1. IT兄弟连 HTML5教程 CSS3属性特效 文字描边

    用CSS3实现的文字描边效果,一个CSS3文字特效实例,字体可以自己随意改,字体颜色也可以自己改.IE9以下浏览器无效果,所以提醒大家测试时候要使用Google Chrome.-webkit-text ...

  2. IT兄弟连 HTML5教程 CSS3属性特效 小结及习题

    本章小结 CSS3新增了许多属性,CSS3样式新增了一种颜色模式rgba用来制作透明色,比CSS的颜色模式多了一个透明度的设置.文字的CSS3特效有文字阴影.文字描边.文字排版和文字省略等.另外,CS ...

  3. IT兄弟连 HTML5教程 CSS3属性特效 transition过渡

    CSS3的transition允许css的属性值在一定的时间区间内平滑地过渡.这种效果可以在鼠标单击.获得焦点.被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值. transitio ...

  4. IT兄弟连 HTML5教程 CSS3属性特效 新增颜色模式

    对于设计人员和开发人员来说,CSS一直是web设计过程中重要的一部分.网页外观主要由CSS控制,编写CSS代码可以任意改变我们的网页布局以及网页内容的样式.随着CSS3的出现以及越来越多的浏览器对它的 ...

  5. IT兄弟连 HTML5教程 CSS3属性特效 3D变换3

    5  3D旋转 在三维变形中,我们可以让元素在任何轴旋转.为此,CSS3新增了三个旋转函数:rotateX().rotateY()和rotateZ().使用rotateX()函数允许一个元素围绕X轴旋 ...

  6. IT兄弟连 HTML5教程 CSS3属性特效 3D变换2

    3  perspective-origin景深基点 perspective-origin景深基点属性时3D变形中另一个重要属性,主要用来决定perspective属性的源点角度.它实际上设置了X轴和Y ...

  7. IT兄弟连 HTML5教程 CSS3属性特效 3D变换1

    3D变换较2D变换多了一下的转换属性,3D转换属性及描述如表1: 表1  3D转换属性 3D的转换方法如表2: 表2  3D转换方法     1  transform-style transform- ...

  8. IT兄弟连 HTML5教程 CSS3属性特效 2D变换2

    3  scale() 方法 通过scale() 方法,元素的尺寸会增加或减少,根据给定的宽度(X轴)和高度(Y轴)参数.缩放scale()函数让元素根据中心原点对对象进行缩放.默认值是1,因此0.01 ...

  9. IT兄弟连 HTML5教程 CSS3属性特效 2D变换1

    通过CSS3转换,能够对元素进行移动.缩放.转动.拉长或拉伸.它如何工作?转换是使元素改变形状.尺寸和位置的一种效果.CSS3转换包括2D转换和3D转换,本小结我们来了解2D变换的转换方法. 转换属性 ...

随机推荐

  1. Find命令、文件名后缀、Linux和Windows互传文件 使用介绍

    第2周第5次课(3月30日) 课程内容: 2.23/2.24/2.25 find命令2.26 文件名后缀 2.27 Linux和Windows互传文件 find命令 文件查找: 1.which(一般用 ...

  2. windows虚拟机中DNS服务配置

    在linux虚拟机中进行DNS服务配置并进行正向解析反向解析我博客中已经写过,下面 我来介绍一下在windows虚拟机中DNS服务的配置使用. 1.打开一台windows虚拟机中服务器管理器——角色— ...

  3. python-模块,异常,环境管理器

    模块 Module 什么是模块: 1.模块是一个包含有一系列数据,函数,类等组成的程序组 2.模块是一个文件,模块文件名通常以.py结尾 作用: 1.让一些相关数据,函数,类等有逻辑的组织在一起,使逻 ...

  4. input监听

    <h1> 实时监测input中值的变化 </h1> <input type="text" id="username" autoco ...

  5. python 拷贝文件夹下的文件 到 另一个文件夹

    import os,shutil def copy_search_file(srcDir, desDir): ls = os.listdir(srcDir) for line in ls: fileP ...

  6. ubuntu下仅仅获取网卡一的ip地址 && shell中字符串拼接

    问题描述: ubuntu下仅仅获取网卡一的ip地址 问题背景: eth0,eth1,eth2……代表网卡一,网卡二,网卡三…… lo代表127.0.0.1,即localhost | 问题描述: 已知字 ...

  7. luogu P1807 最长路_NOI导刊2010提高(07)

    题目描述 设G为有n个顶点的有向无环图,G中各顶点的编号为1到n,且当为G中的一条边时有i < j.设w(i,j)为边的长度,请设计算法,计算图G中<1,n>间的最长路径. 输入格式 ...

  8. CSU OJ 2148 梦皮神

    Description Wells最近经常做一些有皮神出现的梦. 在这一次梦中Wells把皮神(Pikachu)弄丢了,Wells在一个正 N 边形区域的中心开始自闭,Wells想找回皮神,同时皮神也 ...

  9. Mac ifconfig 详解(ifconfig detail)-- 外婆送来的丁香(Grandma's clove)

    引言 Intro 图片源链:https://pixnio.com/zh/%E6%A4%8D%E7%89%A9/%E8%8A%B1/%E4%B8%81%E9%A6%99%E8%8A%B1-%E5%8F% ...

  10. ConcurrentHashMap比其他并发集合的安全效率要高一些?

    前言 我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——为什么它不需要加 ...