1.animation动画

(1)定义场景

  1. 基本语法
  2. @keyframes 场景名称 {
  3. from{
  4. 样式名:值;
  5. ……
  6. }
  7. to{
  8. 样式名:值;
  9. ……
  10. }
  11. }
  12. 说明
  13. from 设置动画开始之前的样式。
  14. to 设置动画结束之后的样式。
  15. @keyframes 场景名称 {
  16. 0%{
  17. 样式名:值;
  18. ……
  19. }
  20. 50%{
  21. 样式名:值;
  22. ……
  23. }
  24. 100%{
  25. 样式名:值;
  26. ……
  27. }
  28. }
  29. 说明
  30. 0% 设置动画开始之前的样式。
  31. 50% 设置动画进行一半时的样式。
  32. 100% 设置动画结束后的样式。

(2)定义动画

  1. 基本语法
  2. animation:场景名称 播放时长 动画类型 播放次数;
  3. 播放时长:单位为秒。默认值是 0
  4. 动画类型:linear 动画从头到尾的速度是相同的。
  5. ease 默认。动画以低速开始,然后加快,在结束前变慢。
  6. 播放次数:数字| infinite
  7. infinite为无限次播放。
  1. <!DOCTYPEhtml>
  2. <html>
  3. <head>
  4. <metacharset="utf-8">
  5. <style>
  6. #div{
  7. width:500px;
  8. height:500px;
  9. border:1pxsolidred;
  10. margin:0auto;
  11. position:relative;
  12. }
  13. #div1{
  14. width:50px;
  15. height:50px;
  16. background:red;
  17. position:absolute;
  18. animation:moveDiv 4sease infinite;
  19. }
  20. @keyframes moveDiv {
  21. 0%{left:0;top:0;}
  22. 25%{left:450px;top:0;}
  23. 50%{left:450px;top:450px;}
  24. 75%{left:0;top:450px;}
  25. 100%{left:0;top:0;}
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <divid="div">
  31. <divid="div1"></div>
  32. </div>
  33. </body>
  34. </html>

image.png

代码讲解
1、设置子元素样式并定义动画
#div1{
width:50px;
height:50px;
background:red;
position:absolute;
animation:moveDiv 4s ease infinite;
}
animation:moveDiv 4s ease infinite;  定义动画场景名称为moveDiv播放时长为4秒且无限播放


2、设置子元素动画场景
@keyframes moveDiv {
0%{left:0;top:0;}
25%{left:450px; top:0;}
50%{left:450px; top:450px;}
75%{left:0; top:450px;}
100%{left:0; top:0;}
}
0%{left:0;top:0;}  设置动画开始时子元素在左上角
25%{left:450px; top:0;}  设置动画四分之一时子元素在右上角
50%{left:450px; top:450px;}  设置动画一半时子元素在右下角
75%{left:0; top:450px;}  设置动画四分之三时子元素在左下角
100%{left:0; top:0;}  设置动画结束时子元素在左上角