CSS3 animation动画属性

本章节目录:

如何创建动画。

@keyframes:创建动画(关键帧)。

animation:复合属性。所有动画属性的简写属性,除了 animation-play-state 属性。

animation-name:规定动画名称。动画名称由 @keyframes 所定义。

animation-duration:规定动画完成一个周期所花费的时间,秒或者毫秒。

animation-timing-function:规定动画的速度曲线。

animation-delay:规定动画的延迟时间(开始前的等待时间),秒或者毫秒。

animation-iteration-count:规定动画播放的次数。

animation-direction:规定动画是否在下一周期逆向播放。

animation-play-state:设置动画的状态(运行或暂停)。

animation-fill-mode:规定动画开始之前或完成之后的状态。

 

 

 

创建动画

如需在 CSS3 中创建动画,需要用到 @keyframes(关键帧)规则。

@keyframes 规则用于创建动画。

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

当您在 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。

通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:

  • 规定动画的名称
  • 规定动画的时长

注释:您必须规定动画的名称和时长。如果忽略时长,则动画不会播放,因为默认值是 0。

实例:div {animation: myAnimation 5s;}

 

 

@keyframes 关键帧:

通过 @keyframes 规则,您能够创建动画。

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

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

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

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

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

 

语法:@keyframes animation-name {keyframes-selector {css-styles;}}

 

属性值

描述

animation-name

必需。定义动画的名称。

keyframes-selector

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

合法的值:

.0%-100%

.from(与 0% 相同)

.to(与 100% 相同)

 

 

animation:

简写属性,用于设置六个动画属性:

  • animation-name:规定需要绑定到选择器的 @keyframes 名称。
  • animation-duration:规定完成动画所花费的时间,以秒或毫秒计。
  • animation-timing-function:规定动画的速度曲线。
  • animation-delay:规定在动画开始之前的延迟。
  • animation-iteration-count:规定动画应该播放的次数。
  • animation-direction:规定是否应该轮流反向播放动画。

注释:请始终规定 animation-duration 属性,否则时长为 0,就不会播放动画了。

 

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

 

默认值:"none 0 ease 1 normal"。

 

 

animation-name:

规定需要绑定到选择器的 @keyframes 名称。

属性值

描述

keyframename

规定需要绑定到选择器的 @keyframes 名称。

none

默认值。规定无动画效果。

 

 

animation-duration:

定义动画完成一个周期所需要的时间,以秒或毫秒计。

属性值

描述

time

规定完成动画所花费的时间。默认值是 0,意味着没有动画效果。

none

默认值。规定无动画效果。

 

 

animation-name:

规定需要绑定到选择器的 @keyframes 名称。

属性值

描述

keyframename

规定需要绑定到选择器的 @keyframes 名称。

 

 

animation-timing-function:

规定动画的速度曲线。

速度曲线定义动画从一套 CSS 样式变为另一套所用的时间。

速度曲线用于使变化更为平滑。

animation-timing-function 使用名为三次贝塞尔(Cubic Bezier)函数的数学函数,来生成速度曲线,您能够在该函数中使用自己的值,也可以使用预定义的值。

属性值

描述

linear

动画从头到尾的速度是相同的。

ease

默认。动画以低速开始,然后加快,在结束前变慢。

ease-in

动画以低速开始。

ease-out

动画以低速结束。

ease-in-out

动画以低速开始和结束。

cubic-bezier(n,n,n,n)

在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。

 

 

animation-delay:

定义动画在开始前的等待时间,以秒或毫秒计。

提示:允许负值,-2s 使动画马上开始,但跳过 2 秒进图动画。

属性值

描述

time

可选。定义动画开始前等待的时间,以秒或毫秒计。默认值为 0。

 

 

animation-iteration-count:

规定动画的播放次数。

属性值

描述

number

一个数字,定义应该播放多少次动画。

infinite

指定动画应该播放无限次。

 

 

animation-direction:

规定动画的是否在下一周期逆向播放。

属性值

描述

normal

默认值。动画按正常播放。

reverse

动画反向播放。

alternate

动画在奇数次正向播放,在偶数次逆向播放。

alternate-reverse

动画在奇数次逆向播放,在偶数次正向播放。

initial

设置为默认值。

 

 

animation-play-state:

规定设置动画的状态(运行或暂停)。

属性值

描述

paused

暂停动画。

running

运行动画。

 

 

animation-fill-mode:

规定动画开始之前和完成之后的状态。

属性值

描述

none

不改变默认状态。

forwards

动画完成后,保持最后一帧的样式。

backwards

动画开始之前,保持第一帧的样式。

both

动画开始之前,保持第一帧的样式。并且,动画完成后,保持最后一帧的样式。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值