Change Animation Timing with Keywords--假设小车从A点到B点,设计加速减速

In CSS animations, the animation-timing-function property controls how quickly an animated element changes over the duration of the animation.

If the animation is a car moving from point A to point B in a given time (your animation-duration), the animation-timing-function says how the car accelerates and decelerates over the course of the drive.

There are a number of predefined keywords available for popular options. For example, the default value is ease, which starts slow, speeds up in the middle, and then slows down again in the end.

Other options include ease-out, which is quick in the beginning then slows down, ease-in, which is slow in the beginning, then speeds up at the end, or linear, which applies a constant animation speed throughout.

 

练习题目:

For the elements with id of ball1 and ball2, add an animation-timing-function property to each, and set #ball1 to linear, and #ball2 to ease-out.

Notice the difference between how the elements move during the animation but end together, since they share the same animation-duration of 2 seconds.

 

练习代码:

 1 <style>
 2 
 3   .balls {
 4     border-radius: 50%;
 5     background: linear-gradient(
 6       35deg,
 7       #ccffff,
 8       #ffcccc
 9     );
10     position: fixed;
11     width: 50px;
12     height: 50px;
13     margin-top: 50px;
14     animation-name: bounce;
15     animation-duration: 2s;
16     animation-iteration-count: infinite;
17   }
18   #ball1 {
19     left:27%;
20     animation-timing-function: linear;
21   }
22   #ball2 {
23     left:56%;
24     animation-timing-function: ease-out;
25   }
26 
27   @keyframes bounce {
28     0% {
29       top: 0px;
30     }
31     100% {
32       top: 249px;
33     }
34   }
35 
36 </style>
37 
38 <div class="balls" id="ball1"></div>
39 <div class="balls" id="ball2"></div>

 

效果如下:

注意,因为循环时间相同,所以2个小球不同速率,但同一时间结束

Change Animation Timing with Keywords--假设小车从A点到B点,设计加速减速

 

上一篇:Unity计时器系统


下一篇:js 从两道面试题加深理解闭包与箭头函数中的this