CSS3动画功能

时间:2022-05-03
本文章向大家介绍CSS3动画功能,主要内容包括1.transition功能、2.animation功能、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

1.transition功能

transition属性的使用方法:transition:property duration timing-function;

其中property表示对哪个属性进行平滑过渡,duration表示多长时间完成属性值的平滑过渡,timing-function表示通过什么方法来进行平滑过渡。

多平滑过渡示例:

 1 <!DOCTYPE html>
 2 <html lang="zh-CN">
 3 <head>
 4     <meta http-equiv="content-type" content="text/html; charset=utf-8">
 5     <meta http-equiv="x-ua-compatible" content="IE=edge">
 6     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
 7     <title>测试</title>
 8 </head>
 9 <body>
10 <div id="test"></div>
11 <style>
12     #test{
13         width: 500px;
14         height: 500px;
15         background-color: yellow;
16         /*css动画*/
17         transform: rotate(0);
18         -webkit-transition: transform 0.5s linear, width 0.5s linear;
19         -moz-transition: transform 0.5s linear, width 0.5s linear;
20         -ms-transition: transform 0.5s linear, width 0.5s linear;
21         -o-transition: transform 0.5s linear, width 0.5s linear;
22         transition: transform 0.5s linear, width 0.5s linear;
23     }
24     #test:hover{
25         width: 200px;
26         transform: rotate(180deg);
27     }
28 </style>
29 </body>
30 </html>

2.animation功能

使用示例:

 1 <!DOCTYPE html>
 2 <html lang="zh-CN">
 3 <head>
 4     <meta http-equiv="content-type" content="text/html; charset=utf-8">
 5     <meta http-equiv="x-ua-compatible" content="IE=edge">
 6     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
 7     <title>测试</title>
 8 </head>
 9 <body>
10 <div id="test"></div>
11 <style>
12 /*animation动画*/
13     @-webkit-keyframes colorChange {
14         0%{
15             background-color: deepskyblue;
16         }
17         50%{
18             background-color: red;
19         }
20         100%{
21             background-color: deepskyblue;
22         }
23     }
24     #test{
25         width:500px;
26         height: 500px;
27         background-color: deepskyblue;
28     }
29     #test:hover{
30         animation-name: colorChange;
31         animation-duration: 1s;
32         animation-timing-function: linear;
33     }
34 </style>
35 </body>
36 </html>

实现动画的方法:

方法

属性值的变化速度

linear

在动画开始时与结束时以同样的速度进行变化

ease-in

动画开始时速度很慢,然后速度沿曲线值进行加快

ease-out

动画开始时速度很快,然后速度沿曲线值进行放慢

ease

动画开始时速度很慢,然后速度沿曲线值进行加快,然后再沿曲线值进行放慢

ease-in-out

动画开始时速度很慢,然后速度沿曲线值进行加快,然后再沿曲线值进行放慢