如何实现css3动画属性之Transitions属性与Animations属性的功能

本篇文章给大家分享的是有关如何实现css3动画属性之Transitions属性与Animations属性的功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

公司主营业务:网站设计、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出洛阳免费做网站回馈大家。

1 Transitions功能

(1)浏览器支持:

到目前为止:Safari3.1以上、Chrome8以上、Firefox4以上、Opera10以上、IE11以上浏览器支持该功能。

(2)功能

在CSS3中,Transitions功能通过将元素的某个属性从一个属性值在指定的时间内平滑过渡到另一个属性值来实现动画功能。

(3)使用方法

transition:property duration timing-function

property:表示对哪个属性进行平滑过渡。

duration:表示在多久时间内完成属性值得平滑过渡。

timing-function:表示通过什么方法进行平滑过渡。

div{
background-color:#ffff00;
transition:background-color 1s linear;//在1秒内让div元素的背景色从黄色平滑过渡到浅蓝色。
}
div{
background-color:#00ffff;
}

(4)另一种使用方法

transition-property:background-color;
transition-duration:1;
transition-timing-function:linear;

(5)transition-delay属性

指定变换动画特效延迟多久后开始执行。可以用秒单位或毫秒单位指定属性值。

transition-delay:1s;
//或 transition:background-color 1s linear 2s;(在第四个参数中书写延迟时间)

(6)使用Transitions功能同时平滑过渡多个属性值

transition:background-color 1s linear,color 1s linear,width 1s linear;

(7)移动、旋转等动画效果

img{
position:absolute;top:70px;left:0;
transform:rotate(0deg);
transition:left 1s linear,transform 1s linear;
}
 img:hover{
left:30px;
transform:rotate(720deg);
}

(8)缺点

只能指定属性的开始值与终点值,然后再这两个属性值之间实现平滑过渡,不能实现更为复杂的动画效果。

2 Animations功能

(1)浏览器支持:

到目前为止:Safari4以上、Chrome2以上、Firefox20以上、Opera18以上、IE11以上浏览器支持该功能。

(2)功能

与Transitions功能相同,都是通过改变元素的属性值来实现动画效果。

区别:Animations功能通过定义多个关键帧以及定义每个关键帧中元素的属性值来实现更为复杂的动画效果。

(3)创建关键帧的集合

@keyframes 关键帧集合名{  创建关键帧的代码  }

(4)创建关键帧的代码(类似如下)

40%{ 本关键帧中的样式代码 }

(40%表示改帧位于整个动画过程中的40%处,开始帧为0%,结束帧为100%)

@keyframes mycolor{
0%{
background-color:red;
}
40%{
background-color:darkblue;
}
70%{
background-color:yellow;
}
100%{
background-color:red;
}
}

(5)在元素的样式中使用该关键帧的集合

div{
animation-name:my-color; //指定关键帧集合的名称
animation-duration:5s; //指定完成整个动画所花费的时间
animation-timing-function:linear; //指定实现动画的方法
}

(6)其他属性

animation-delay:用于指定延迟多少秒或毫秒后开始执行动画。

animation-iteration-count:用于指定动画的执行次数,可指定为infinite(无限次)。

animation-direction:用于指定动画的执行方向。可指定属性值包括:

  • normal:初始值(动画执行完毕后返回初始状态)

  • alternate:交替更换动画的执行方向

  • reverse:反方向执行动画

  • alternate-reverse:从反方向开始交替更改动画的执行方向

(7)在一行样式代码中定义animation动画时采用如下所示的书写方式

animation:keyframe的名称 动画的执行时长 动画的实现方法  延迟多少秒后开始执行动画 动画的执行次数 动画的执行方向;

(8)实现多个属性值同时改变的动画

只需只在各关键帧中同时指定这些属性值就可以了。

3 实现动画的方法

方法属性值的变化速度
linear在动画开始时与结束时以同样速度进行改变
ease-in动画开始时速度很慢,然后速度沿曲线值进行加快
ease-out动画开始时速度很快,然后速度沿曲线值进行放慢
ease动画开始时速度很慢,然后速度沿曲线值进行加快,然后再沿曲线值进行放慢
ease-in-out动画开始时速度很慢,然后速度沿曲线值进行加快,然后再沿曲线值进行放慢

4 实现网页的淡入效果

通过在开始帧与结束帧中改变页面的opacity属性的属性值来实现页面的淡入效果。

@keyframes fadein{
0%{
opacity:0;
background-color:white;
}
100%{
opacity:1;
background-color:white;
}
body{
animation-name: fadein; 
animation-duration:5s; 
animation-timing-function:linear; 
animation-iteration-count:1;
}

以上就是如何实现css3动画属性之Transitions属性与Animations属性的功能,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


名称栏目:如何实现css3动画属性之Transitions属性与Animations属性的功能
链接URL:http://scyanting.com/article/pscdcp.html