animation属性详解

写在前面

css3的animation可以实现很多炫酷的动画,让自己的网页看起来更加生动灵活,下面,来看一下都有些什么玩意属性。

动画属性

首先,我们看一下具体写法

animation: name duration timing-function delay iteration-count direction fill-mode play-state;

具体化表现形式

animation:myAnim 1s linear 1s infinite alternate both running;
分别是:
	关键帧名字,
	1个周期1秒,
	动画速度相同,
	动画1秒后开始,
	无限播放,
	可以反向播放,
	动画在两个方向上扩展动画属性,
	开始播放动画

都有什么属性呢

  1. animation-name:指定要绑定到选择器的关键帧的名称。
  2. animation-duration:定义动画完成一个周期需要多少秒或毫秒
  3. animation-timing-function:指定动画将如何完成一个周期。
说明
linear动画从头到尾的速度是相同的。
ease默认。动画以低速开始,然后加快,在结束前变慢。
ease-in动画以低速开始。
ease-out动画以低速结束。
ease-in-out动画以低速开始和结束。
cubic-bezier(n,n,n,n)在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。
step-start在变化过程中,都是以下一帧的显示效果来填充间隔动画
step-end 在变化过程中,都是以上一帧的显示效果来填充间隔动画
steps()可以传入两个参数,第一个是一个大于0的整数,他是将间隔动画等分成指定数目的小间隔动画,然后根据第二个参数来决定显示效果。第二个参数设置后其实和step-start,step-end同义,在分成的小间隔动画中判断显示效果。

其中 cubic-bezier(n,n,n,n) 称为三次贝塞尔曲线,速度曲线,反正我也不知道怎么算的。
可以通过工具定制=》戳他

  1. animation-delay:属性定义动画什么时候开始。
  2. animation-iteration-count :定义动画播放多少次数。
说明
n一个数字,定义应该播放多少次动画
infinite指定动画应该播放无限次(永远)
  1. animation-direction:定义是否循环交替反向播放动画。
说明
normal默认值。动画按正常播放。
reverse动画反向播放。
alternate动画在奇数次(1、3、5…)正向播放,在偶数次(2、4、6…)反向播放。
alternate-reverse动画在奇数次(1、3、5…)反向播放,在偶数次(2、4、6…)正向播放。
initial设置该属性为它的默认值。
inherit从父元素继承该属性。
  1. animation-fill-mode:规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。
说明
none默认值。动画在动画执行之前和之后不会应用任何样式到目标元素。
forwards在动画结束后(由 animation-iteration-count 决定),动画将应用该属性值。
backwards动画将应用在 animation-delay 定义期间启动动画的第一次迭代的关键帧中定义的属性值。这些都是 from 关键帧中的值(当 animation-direction 为 “normal” 或 “alternate” 时)或 to 关键帧中的值(当 animation-direction 为 “reverse” 或 “alternate-reverse” 时)。
both动画遵循 forwards 和 backwards 的规则。也就是说,动画会在两个方向上扩展动画属性。
initial设置该属性为它的默认值。
inherit从父元素继承该属性。
  1. animation-play-state:指定动画是否正在运行或已暂停。
说明
paused 指定暂停动画。
running指定正在运行的动画。
keyframes属性

keyframes:定义动画规则,关键帧。

说明
animationname 必需的。定义animation的名称。
keyframes-selector必需的。动画持续时间的百分比。
css-styles必需的。一个或多个合法的CSS样式属性

至于写法,一种用fromto,一种用0%100%

@keyframes myAnim{
   from { background: #f00; }
   50% { background: #0f0; }
   to { background: yellowgreen; }
}
@keyframes myAnim{
	0% { background: #f00; }
	50% { background: #0f0; }
	100% { background: yellowgreen; }
}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值