1、CSS3动画

用关键词from、to,或者用比分比来定义
定义动画语法:

  1. @keyframes name {
  2. from|0%{
  3. css样式
  4. }
  5. to|100%{
  6. css样式
  7. }
  8. }

执行动画语法:

  1. animation: name duration timing-function delay iteration-count direction fill-mode play-state;
  2. name:要执行的动画名称
  3. duration:设置动画的持续时间,单位可以是秒(s)和毫秒(ms)
  4. timing-function:设置动画的速率
  5. ease:逐渐变慢(默认)
  6. linear:匀速
  7. ease-in:加速
  8. ease-out:减速
  9. ease-in-out:先加速后减速
  10. delay:延迟执行,单位可以是秒(s)和毫秒(ms)
  11. iteration-count:循环次数,infinite为无限次
  12. direction:播放的方向
  13. normal:向前播放(默认值)
  14. alternate:偶数次向前播放,奇数次向反方向播放
  15. fill-mode
  16. none:不修改样式,forwards 当动画结束后,修改元素样式为最后一帧的样式
  17. backwards:当动画开始时,修改元素样式为第一帧样式。比如设置了等待时间,等待时间中也会修改元素样式为第一帧样式
  18. both:遵循forwardsbackwards 的规则,开始后结束都修改样式。
  19. play-state:播放状态,running运行中,paused停止播放

示例代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>CSS3新特性-动画</title>
  6. <style>
  7. div{
  8. width: 100px;
  9. height: 100px;
  10. box-shadow: 10px 10px 10px gray;
  11. /* 执行动画 */
  12. animation: myDH 3s linear 0s infinite normal none;
  13. }
  14. div:hover{
  15. animation-play-state: paused;
  16. }
  17. @keyframes myDH {
  18. 0%{
  19. background-color: rebeccapurple;
  20. }
  21. 50%{
  22. background-color: green;
  23. }
  24. 100%{
  25. background-color: rebeccapurple;
  26. }
  27. }
  28. </style>
  29. </head>
  30. <body>
  31. <div></div>
  32. </body>
  33. </html>

2、呼吸动画效果

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>CSS3新特性-呼吸动画</title>
  6. <style>
  7. div{
  8. width: 100px;
  9. height: 100px;
  10. margin: 40px auto;
  11. background-color: #2b92d4;
  12. border-radius: 5px;
  13. box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
  14. animation: breathe 2700ms ease-in-out 0s infinite alternate none;
  15. }
  16. @keyframes breathe {
  17. 0%{
  18. opacity: 0.2;
  19. box-shadow: 0 1px 2px rgba(255, 255, 255, .1);
  20. }
  21. 50%{
  22. opacity: 0.5;
  23. box-shadow: 0 1px 2px rgba(18, 190, 84, .76);
  24. }
  25. 100%{
  26. opacity: 1;
  27. box-shadow: 0 1px 30px rgba(59, 255, 255, 1);
  28. }
  29. }
  30. </style>
  31. </head>
  32. <body>
  33. <div></div>
  34. </body>
  35. </html>