博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS3动画中神奇的animation-timing-function
阅读量:4956 次
发布时间:2019-06-12

本文共 1505 字,大约阅读时间需要 5 分钟。

CSS3动画(animation)属性有如下几个:

属性 说明
animation-name name 指定元素要使用的keyframes名称
animation-duration time(ms、s) 指定动画时长
animation-timing-function linear、ease(默认)、ease-in、ease-out、ease-in-out、cubic-bezier(n,n,n,n) 设置动画将如何完成一个周期
animation-delay time(ms、s) 设置动画启动前的延迟间隔(只会执行一次)
animation-iteration-count 1(默认)、n、infinite 定义动画播放次数
animation-direction normal(默认)、reverse、alternate、alternate-reverse 指定是否轮流反向播放动画
animation-fill-mode none(默认)、forwards、backwards、both 规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。
animation-play-state running、paused

指定动画运行或者暂停

 

本片博文主要记录一下 animation-timing-function 的各个值的动态效果,方便日后查阅。

1. linear:动画从头到尾的速度是相同的,匀速变化

 

 

 

2. ease:慢 -> 快 -> 慢

 

3. ease-in:慢 -> 匀速

 

4. ease-out:匀速 -> 慢

 

5. ease-in-out: 慢 -> 匀速 -> 慢

以上5个动画运行效果的总结只是基于视觉上的阐述,详细请参阅 

6. cubic-bezier(0.68, -0.55, 0.27, 1.55):4个参数自己设定

  贝塞尔函数常用来制作有反弹效果的动画,参数相关

注意:上述6个方法均是在一个关键帧的前提下完成的,即

@keyframes move{
from { margin: 0} to {
margin: calc(100% - 4em); } }

当关键帧不唯一时,每个关键帧之间将应用整个动画设置的缓动函数,因为 animation-timing-function的定义就是 "关键帧之间的缓动函数"

@keyframes move{
from { margin-left: 0; } 50% {
margin-left: calc(50% - 2em); } to {
margin-left: calc(100% - 4em); }}

如图所示,animation-timing-function 是 应用在每个关键帧之间的,所以不同关键帧可以设置不同的缓动动画

@keyframes move{
from { margin-left: 0; animation-timing-function:linear; } 50% {
margin-left: calc(50% - 2em); animation-timing-function:ease-out;} to {
margin-left: calc(100% - 4em); } /*最后一个关键帧设置无效,因为此关键帧为最后一帧*/}

 参考

转载于:https://www.cnblogs.com/Kuro-P/p/8463890.html

你可能感兴趣的文章
Spring声明式事务为何不回滚
查看>>
利用Idea重构功能及Java8语法特性——优化深层嵌套代码
查看>>
1、Java小白之路前言
查看>>
Python基础第八天:各种推导式玩法
查看>>
微信扫码下载apk快速解决方案,中间页引导法
查看>>
ListView的使用
查看>>
一点感悟
查看>>
Mac安装Qt出现错误Could not resolve SDK Path for 'macosx'
查看>>
oracle 中使用 pl/sql代码块
查看>>
Hive自定义函数
查看>>
【Python基础知识】基本数据类型:数字、字符串、列表、元组、字典、集合
查看>>
C#利用控件mscomm32.ocx读取串口datalogic扫描枪数据
查看>>
org.springframework.boot.builder.SpringApplicationBuilder.<init>
查看>>
关于 percona monitoring plugins插件报slave is stoped on ip地址
查看>>
Spring-介绍(一)
查看>>
iOS中时间与时间戳的相互转化
查看>>
CSS3和jQuery实现的自定义美化Checkbox和Radiobox
查看>>
超炫酷的jQuery/HTML5应用效果及源码
查看>>
内置函数
查看>>
CF572_Div2_D2
查看>>