Cubic-bezier 曲线

cubic-bezier又称三次贝塞尔,主要是为animation生成速度曲线函数。

  cubic-bezier(x1,y1,x2,y2) 

此图中:

 P0:(0,0) P1:(x1,y1) P2:(x2,y2) P3:(1,1)

(x1,x2 范围为 0-1) (y1,y2没规定,但是过大没必要也没意义。) 

我对此曲线是这么理解的:假设P1,P2两个点为吸铁石,曲线是薄铁条(可以被吸铁石影响形状的那种)

那么这个曲线则是被 P1,P2两个吸铁石点拉扯形成的。

有一点需要注意,当这个点距离曲线越远,则拉扯力越大,曲线弧度越大。距离曲线越近,拉扯力越小,曲线弧度越小(这里和吸铁石相反。)

 1 <!DOCTYPE html>
 2 <html lang="zh-cn">
 3 <head>
 4   <meta charset="UTF-8">
 5   <title>Document</title>
 6 
 7   <style>
 8     .animation {
 9       width: 50px;
10       height: 50px;
11       background-color: #ed3;
12       -webkit-transition:  all 2s cubic-bezier(.17, .86, .73, .14);
13            -o-transition:  all 2s cubic-bezier(.17, .86, .73, .14);
14               transition:  all 2s cubic-bezier(.17, .86, .73, .14);
15     }
16     .animation:hover {
17       -webkit-transform:  translateX(400px);
18           -ms-transform:  translateX(400px);
19            -o-transform:  translateX(400px);
20               transform:  translateX(400px);
21     }
22   </style>
23 </head>
24 <body>
25   <div class="animation"></div>
26 </body>
27 </html>

这段代码中 (x1=0.17 y1=0.86) (x2=0.73 y2=0.14) 可以画出此运动曲线为

图片看不懂没关系,我教你,简单来讲可以把(0,0)当做物体的初始点,(0,1)当做物体的终点 注意这里不是(1,1),X轴从0到1为这个物体从初始点到终点的时间。

中间有段曲线大约在1/2路程的时候,发现随着时间的推移增加的很缓慢。那就说明这个物体在这段时间移动的慢。

好了,继续。下边有几个常用的曲线

 ease: cubic-bezier(.25, .1, .25, 1);

 

 liner:cubic-bezier(0, 0, 1, 1) / cubic-bezier(1, 1, 0, 0) 

 ease-in:cubic-bezier(.42, 0, 1, 1) 

 ease-out:cubic-bezier(0, 0, .58, 1) 

 ease-in-out:cubic-bezier(.42, 0, .58, 1) 

 In Out . Back(来回的缓冲效果):cubic-bezier(0.68, -0.55, 0.27, 1.55) 

参考:https://www.jianshu.com/p/d999f090d333

one more thing: 这个网址可以在线创作Cubic-bezier,蛮有意思的 

转载于:https://www.cnblogs.com/ming-os9/p/8884744.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值