css3动画效果详解

动画本质上是增强的过渡

动画分两部分,即动画属性定义动画形式,第二部分使用@key-frames规则创建,定义动画是什么样的

1.浏览器支持情况

Internet Explorer 10、Firefox 以及 Opera 支持 animation 属性。

Safari 和 Chrome 支持替代的 -webkit-animation 属性。

注释:Internet Explorer 9 以及更早的版本不支持 animation 属性。

2.动画属性

animation-delay 设置动画开始前的延迟,值为时间,单位ms

animation-direction 设置动画循环播放的时候是否反向播放,值normal表示每次重复都向前播放,如果重复播放多次,每次动画都恢复初始状态,从头开始播放;值alternate表示动画先向前再反向播放

animation-duration 动画播放持续时间

animation-iteration-count 动画播放次数 infinite或者数值

animation-name 指定动画名称 none或字符串

animation-play-state 允许动画暂停paused或者重新播放running

animation-timing-function 中间值,类似过渡

animation 简写属性

 animation:animation-name animation-duration animation-timing-function animation-delay animation-iteration-count 

 动画:命名 持续时间 中间值 延迟时间 播放次数

3.@key-frames

目前浏览器都不支持 @keyframes 规则。

Firefox 支持替代的 @-moz-keyframes 规则。

Opera 支持替代的 @-o-keyframes 规则。

Safari 和 Chrome 支持替代的 @-webkit-keyframes 规则。

用法:

创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式。

在动画过程中,您能够多次改变这套 CSS 样式。

以百分比来规定改变发生的时间,或者通过关键词 "from" 和 "to",等价于 0% 和 100%。

0% 是动画的开始时间,100% 动画的结束时间。

为了获得最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。

语法:

@keyframes animationname {keyframes-selector {css-styles;}} 
描述
animationname 必需。定义动画的名称。
keyframes-selector

必需。动画时长的百分比。

合法的值:

  • 0-100%
  • from(与 0% 相同)
  • to(与 100% 相同)
css-styles 必需。一个或多个合法的 CSS 样式属性。

注:与过渡相比,动画的一个优势是你可以将其应用到初始布局,即页面已加载就可以产生动画。

原文地址:https://www.cnblogs.com/cumting/p/6754823.html