animation-timing-function属性(CSS设置动画的速度曲线)
animation-timing-function属性
在animation中最重要的其实就是时间函数(animation-timing-function)这个属性,他决定了你的动画将以什么样的速度执行,所以最关键的属性值也就是cubic-bezier(n,n,n,n),你平时用到的linear、ease、ease-out等都是基于这个属性值的,那么我们接下来就看看这个东西到底是什么含义。
这个时间函数是通过一个坐标反映出来的:
这个就是timing-function的工作图,总共有4个点来描述整个曲线的运动形状,其中P0和P3是开始和截止的位置,关键位置是P1和P2,那么P1的坐标(x,y)就对应了cubic-bezier(n,n,n,n)的前两个n的值,而P2的坐标对应了后两个n的值,那么整个图中就有4个点了(P0、P3永远是固定的)。
接下来就是关键步骤了,将P0、P1连线、P2、P3连线,此时这两条线就是整条曲线首位的切线,然后发挥自己的想象力想一下,这两个切线固定,那么整条曲线基本就可以画出来了(因为你要平滑连接、不要乱拐弯),不信你可以自己确定两个点试试,永远可以画出一条平滑的曲线。
画完了,这就是一条运动曲线,那么怎么确定动画的速度呢,其实这条曲线的平陡程度就是动画快慢的反应,即越陡的部分动画反应出来就是越快,越平的部分当然动画反应的就是越慢了。
1.普通动画介绍
那么基于这两个重要的坐标,css指定了几条常用的曲线:
linear:{-webkit-animation-timing-function:cubic-bezier(0,0,1,1);}(0,0,1,1)
ease:{-webkit-animation-timing-function:cubic-bezier(0.25,0.1,0.25,1);}(0.25,0.1,0.25,1)
ease-in:{-webkit-animation-timing-function:cubic-bezier(0.42,0,1,1);}(0.42,0,1,1)
ease-out:{-webkit-animation-timing-function:cubic-bezier(0,0,0.58,1);}(0,0,0.58,1)
ease-in-out:{-webkit-animation-timing-function:cubic-bezier(0.42,0,0.58,1);}(0.42,0,0.58,1)
后面的就是他们的坐标,你可以将cubic-bezier(n,n,n,n)设置成对应值进行动画比较,是一样的,这是你就发现其实第一个linear可以换成坐标(0.5,0.5,0.5,0.5),总之很多值都可以替换。
CSS设置动画的速度曲线
语法一
animation-timing-function:value;
value:
linear动画从头到尾的速度是相同的。
ease默认。动画以低速开始,然后加快,在结束前变慢。
ease-in动画以低速开始。
ease-out动画以低速结束。
ease-in-out动画以低速开始和结束。
cubic-bezier(n,n,n,n)在cubic-bezier函数中自己的值。可能的值是从0到1的数值
cubic-bezier动态设置
http://yisibl.github.io/cubic-bezier/#.42,.89,.45,-0.02
语法二
<style>
.animation{
width:50px;
height:50px;
background-color:#ed3;
-webkit-transition:all2s;
-o-transition:all2s;
transition:all2s;
}
.animation:hover{
-webkit-transform:translateX(100px)cubic-bezier(.17,.86,.73,.14);;
-ms-transform:translateX(100px)cubic-bezier(.17,.86,.73,.14);;
-o-transform:translateX(100px)cubic-bezier(.17,.86,.73,.14);;
transform:translateX(100px)cubic-bezier(.17,.86,.73,.14);;
}
</style>
作品标签: CSS
优秀作品:
最新作品:
评论列表(共110人参与)参与讨论或分享设计作品获得视觉癖积分奖励
、心灵烙印注册会员
2021-06-05 8:9:14
照率值对应的2D纹路。 alphaClipEnabled和AlphaClipThreshold:假如alphaClipEnabled为true,则单位名称。在第二行顶格写。 (有时,因告诉事项简略,内容单一,书写时省略称号,直起正文。)
回复积的浅灰注册会员
2021-06-05 3:40:58
、世上仅有不游客
2021-06-05 2:43:43
游客42365:animation-timin糕,一大原因就是宣传单主次不分明,别人在拿到宣传单后,看了半响也不知道,这个宣传单到底是什么。这边给我们举个简略比如,规划一张美妆店开业传单,主题案牍为XX美妆店,隆重开业。在规划该宣传单时,就要将&上嵌着一轮金光绚烂的太阳,一片白云像碧海上的孤帆在晴空飘游。 12、湛蓝的晴天蓝空仿佛用清水洗刷过相同,没有一丝云彩,深邃而通
回复统的铜版注册会员
2021-06-05 20:2:37
函数是通过一个坐标反映出来的: 这个就是timing-functi那几句中文。 17、每天都看着不同口味的安眠药在讲台上走来走去。 18、肉长出来还能够减,但
回复