html定义动画,css动画是由什么组成的?

css动画是由三部分组成,分别为关键帧(keyframes)、动画属性(properties)、css属性。下面给大家具体介绍一下,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

5dea19a39850b643.jpg

css动画的三个组成部分:关键帧(keyframes) - 定义动画在不同阶段的状态。

动画属性(properties) - 决定动画的播放时长,播放次数,以及用何种函数式去播放动画等。(可以类比音视频播放器)

css属性 - 就是css元素不同关键帧下的状态。

1、关键帧(@keyframes)

语法@keyframes keyframes-name {

[ [ from | to | ] [, from | to | ]* block ]*

}keyframes-name:帧列表的名称。 名称必须符合 CSS 语法中对标识符的定义。

from:等效于 0%.

to:等效于 100%.

下面我们来看一个例子。

创建了一个@keyframes命名为dropdown。

关键帧主要分为3个阶段,0%、50%、100%。

动画播放时长为6s、循环播放(infinite)、以linear方式进行播放。

修改的元素属性为margin-top.list div:first-child {

animation: dropdown 8s linear infinite;

}

@keyframes dropdown {

0% { margin-top: 0px;}

/** 暂停效果 */

10% { margin-top: 0px;}

50% { margin-top: -100px;}

60% { margin-top: -100px;}

90% { margin-top: -200px;}

100% { margin-top: -200px;}

}

1575622648858198.gif

源码地址:https://jsfiddle.net/vicharles/8a8yq8dk/15/

需要注意!当属性的个数不确定时:

当我们在定义不同关键帧,元素属性的个数是一个变化的值。

如果一个关键帧的属性,没有出现在其他关键帧的时候,那么这些属性将会使用上一帧的默认值。

区别在于,缺省之后的渐变效果是不会出现的。比如下面两种写法,@keyframes dropdown {

0% { top: 0; }

30% { top: 300px; }

50% { top: 150px; }

70% { top: 300px; }

80% { top: 0px; left:-200px;}

100% { top: 0px; }

}

1575622748171785.gif@keyframes dropdown {

0% { top: 0; left:0px;}

30% { top: 300px; left:0px;}

50% { top: 150px; left:0px;}

70% { top: 300px; left:0px;}

80% { top: 0px; left:-200px;}

100% { top: 0px; left:0px;}

}

2、动画属性

动画属性可以理解为播放器的相关功能,一个最基本的播放器应该具有:播放/暂停、播放时长、播放顺序(逆序/正序/交替播放)、循环次数等。

主要也分为两大点:指定播放的元素

定义播放信息的配置

1575622997532666.gif

动画源码:https://jsfiddle.net/vicharles/8a8yq8dk/35/

简写属性形式:animation:

[animation-name] [animation-duration] // 动画的名称、持续时间

[animation-timing-function][animation-delay] // 关于时间的函数(properties/t)、延迟时间

[animation-iteration-count] [animation-direction] // 播放次数、播放顺序

[animation-fill-mode] [animation-play-state]; // 播放前或停止后设置相应样式、控制动画运行或暂停

更多CSS相关知识,可访问 CSS教程 !!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值