Animation-nameanimation-durationanimation-timing-functionanimation-delayanimation-iteration-countanimation-directionanimation-play-stateanimation-fill-mode@keyframesanimation-name指定@keyframes 的名称。当CSS加载时,将应用该名称的@keyframes规则来实现动画。
animation-duration动画时长,默认为0表示无动画,单位可设置为s秒或ms毫秒
animation-timing-function动画播放模式,默认值为ease,可以设置Linear、ease、ease-in、ease-out、ease-in-out、cubic-bezier(n,n,n,n)、steps。关于Bezier曲线和步骤,可以参考之前的文章transition,和transition-timing-function类似,就不赘述了。
animation-delay延迟开始动画的时间。默认值为0,表示不延迟,立即播放动画。单位是s秒或ms毫秒。允许设置负数时间,表示动画动作从该时间点开始,之前的动画不会显示。例如,-2s 会使动画立即开始,但会跳过动画的前2 秒。
animation-iteration-count动画循环次数。默认值为1,即播放一次后不再循环。除了数字之外,还可以设置关键字infinite,表示无限循环播放。
animation-direction动画播放方向可以设置为正常、交替或交替反向。默认值为normal,表示动画正常播放。 alternate表示正向和反向轮流播放动画,即动画以奇数(1,3,5.)正常播放,以偶数(2,4,6.)反向播放。 alternate-reverse 正好相反,奇数次反向播放动画,偶数次向前播放动画。点击此处查看效果
.myDiv1 {
宽度: 75px;
高度: 75px;
背景颜色: 红色;
位置:相对;
动画:a方向5s无限;
}
@keyframes aDirection {
来自{left:0px;}
到{left:200px;}
}
.alter { 动画方向:alternate; }
.alterR { 动画方向:alternate-reverse;有什么用呢?事实上,在示例页面中可以看到alternate/alternate-reverse的动画效果可以顺利实现反转效果。例如示例页面中的flash提示。可以使用text-decoration:blink来实现闪烁,但功能有限,支持也有限。用CSS3动画实现的闪烁效果就更好了。 (当然,闪烁的使用一定要克制,一定要定期确定闪烁的次数,无限制的闪烁是不允许的,无限的闪烁通常会让用户非常生气,后果很严重):
@关键帧闪烁{
to { color: 透明} //文本颜色平滑过渡到透明
}
.眨眼{
Animation:5s 闪烁6; //触发动画6次。因为设置了交替,所以看起来闪烁了3 次。
动画方向: 交替;
}animation-play-state动画的状态,可以设置为运行或暂停。默认值running表示动画正在播放,paused表示动画暂停。通常在JS端使用属性object.style.animationPlayState="paused"来暂停动画。
animation-fill-mode动画超时属性可以设置为无、向前、向后、两者。默认值none表示动画播放完后,返回初始状态。 forwards:当动画结束时,保留@keyframes中最后一帧的属性。 backs 表示开始动画时,应用@keyframes 中第一帧的属性。要看到效果,通常需要设置animation-delay延迟时间。两者都意味着同时应用前向和后向。
例如设置延迟时间为2s。最初为红色,动画的第一帧变为绿色,动画的最后一帧变为蓝色。点击此处查看效果
.myDiv2 {
宽度: 75px;
高度: 75px;
背景颜色: 红色;
位置:相对;
动画:mymove 5s 1 2s;
}
@keyframes mymove {
从{left:0px;背景颜色:绿色;}
到{left:200px;背景颜色: 蓝色;}
}
.forwards { 动画填充模式:forwards; }
.bkforwards { 动画填充模式:backwards; }
.both { 动画填充模式:both;图1没有解释。最正常的效果是初始为红色,动画开始时为绿色,动画结束时为蓝色,结束后又恢复到初始红色状态。图2设置为转发。与图1不同的是,动画结束后并没有回到初始状态,仍然是蓝色。图3设置为向后,在动画开始之前(即延迟期内)应用第一帧的动作。设置为绿色,动画结束后恢复原来的状态。图4设置为同时具有前进和后退的效果。
@keyframes动画帧是区分动画和过渡的关键。在转场中,无法更详细地控制该时间段内执行的动作,但在动画中,可以使用@keyframes来详细指定第一帧要做什么,第二帧要做什么。
语法:以@keyframes 开头,后跟动画名称。可以在实体内创建百分比来划分时间段。关键字from 等于0%,to 等于100%。
@keyframes mymove {
0% {top:0px;左:0px;背景:红色;}
25% {top:0px;左:100px;背景:蓝色;}
50% {top:100px;左:100px;背景:黄色;}
75% {top:100px;左:0px;背景:绿色;}
100% {top:0px;左:0px;背景:红色;}
}为了节省空间,省略了各种浏览器前缀,例如Firefox 的@-moz-keyframes、Chrome 和Safari 的@-webkit-keyframes 以及Opera 的@-o-keyframes。提醒一下,@keyframes 仅定义动画效果,但要使动画生效,必须使用animate 属性将动画绑定到特定的DOM 元素。
您可以单独指定上述子属性,也可以将它们组合起来指定在动画属性中,如背景等属性。例如animation: moveten 1s step(10,end) 无限交替向后3s;但合并时要小心,因为animation-duration和animation-delay都是时间。浏览器会按照顺序将第一次视为animation-duration,将第二次视为animation-delay。
单独指定它们可能会让代码更清晰,但是由于页面需要适配各个浏览器,如果每一个都需要加上-ms、-moz等前缀,那么代码就会变得很多,而且代码会略显冗长合并时更少。
另外,还可以同时指定多个动画效果,如animation: moveten1 1s ease .5s、moveten2 2s ease 1sforward;
深入解析:CSS3 动画技术全面指南的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、深入解析:CSS3 动画技术全面指南的信息别忘了在本站进行查找哦。
【深入解析:CSS3 动画技术全面指南】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
css动画?看起来很有意思!
有15位网友表示赞同!
一直想学习做点酷炫的效果,这个应该是我要关注的东西吧。
有12位网友表示赞同!
终于有时间好好研究一下 CSS3 动画了!
有17位网友表示赞同!
想要把网页设计的更生动有趣,CSS 应该是个好工具。
有18位网友表示赞同!
从没认真接触过动画制作,看看现在学习会不会太晚?
有7位网友表示赞同!
这篇文章写的很能激发我的兴趣啊!
有13位网友表示赞同!
感觉动画可以提升用户体验,希望能学到很多新知识。
有8位网友表示赞同!
以前做网页都是简单的静态布局,现在想尝试一下动态效果。
有9位网友表示赞同!
学习一下 CSS3 动画,应该能让我更有竞争力吧!
有13位网友表示赞同!
看介绍文档还是自己动手实践更能理解动画的原理。
有19位网友表示赞同!
学习 HTML 和 CSS 都有些时间了,现在可以开始尝试做一些特效了!
有9位网友表示赞同!
这个时代,网站的设计越来越注重交互体验,CSS3 动画必不可少啊。
有8位网友表示赞同!
我的网页设计水平提升的空间很大,希望可以通过 CSS3 动画来弥补。
有7位网友表示赞同!
也许我能用动画来展示一些有趣的视觉效果,吸引用户的注意力?
有15位网友表示赞同!
学习新技能一直是我的目标,CSS3 动画很有潜力。
有15位网友表示赞同!
希望这篇文章能系统地讲解 CSS3 动画的使用方法
有20位网友表示赞同!
我很期待看到一些精彩的 CSS3 动画案例,汲取经验!
有20位网友表示赞同!
通过学习 CSS3 动画,我相信我的网页设计能力可以得到提升。
有16位网友表示赞同!
我会分享这篇文章给我的朋友,让我们一起学习吧!
有9位网友表示赞同!