如何利用CSS3做一些过渡效果

刚开始W3C CSS Workgroup拒绝将CSS3 transition与animation加入官方标准,一些成员认为过渡效果和动画并非样式属性,而且已经可以用脚本实现。所以请大家明白,特别是Web前端开发员,用CSS3做一些过渡效果和动画,并不比运用JS脚本实现要好(个人认为:用CSS只不过让不懂JS的人员(设计人员)也能做动画,而且使用浏览器封装好的方法,但使用JS脚本可以更灵活,在性能上也能去优化)。&nb

1.Transition

Transition是一种直观上的效果,让DOM元素的某个属性在固定时间内从一旧值到一新值。目前Firefox、Opera、Safari和Chrome都支持transition ,IE还不支持。
 

语法:transition: property duration timing-function delay;

说明:

实例: 

<style type="text/css">

div

{

width:100px;

height:100px;

background:red;

transition:width 2s;

-moz-transition:width 2s; /* Firefox 4 */

-webkit-transition:width 2s; /* Safari and Chrome */

-o-transition:width 2s; /* Opera */

}

  

div:hover

{

width:300px;

}

</style>

<div></div>

2. Animation

CSS动画(Animations)简单说就是在一段固定的动画时间内暗中在某一频率内改变其CSS某个或某些值,从而达到视觉上的转换动画效果。Animations的很多方面都是可以控制的,包括动画运行时间,开始值和结束值,还有动画的暂停和延迟其开始时间等。

目前支持Animation的浏览器有:Firefox、 Safari 和 Chrome,IE和Opera还不支持。下面看下一个简单的实例:

<style type="text/css">

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*/

}

@keyframes mymove

{

from {left:0px;}

to {left:200px;}

}

@-moz-keyframes mymove /*Firefox*/

{

from {left:0px;}

to {left:200px;}

}

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

{

from {left:0px;}

to {left:200px;}

}

</style>

<div></div>

语法:animation: name duration timing-function delay iteration-count direction; 

说明:

以上就是如何利用CSS3做一些过渡效果的全部内容了,希望能对你的工作有所帮助。关注爱站技术频道网站,我们每天都会不定时更新各种类型的技术文章供大家阅读。