纯css3实现的圆形进度条

向右看齐 2022-08-03 03:10 379阅读 0赞
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <style type="text/css">
  6. .spinner{ /*半透明蓝色的圆弧,形成进度条的背景,透明的半圆弧和蓝色的半圆弧交替旋转构成进度条*/
  7. font-size: 20px;
  8. width: 1em;
  9. height: 1em;
  10. border-radius: 50%;
  11. box-shadow:inset 0 0 0 .1em rgba(58, 168, 237, .2);
  12. }
  13. .spinner i { /*创造了一个透明矩形的一半*/
  14. position:absolute;
  15. width:1em;
  16. height:1em;
  17. clip: rect(0, 1em, 1em, .5em);
  18. animation: spinner-circle-clipper 1s ease-in-out infinite;
  19. }
  20. @keyframes spinner-circle-clipper {
  21. 0% {
  22. transform: rotate(0deg);
  23. }
  24. 100% {
  25. transform: rotate(180deg);
  26. }
  27. }
  28. .spinner i:after { /*l蓝色的半圆弧*/
  29. position:absolute;
  30. clip: rect(0, 1em, 1em, .5em);
  31. width:1em;
  32. height:1em;
  33. content: '';
  34. animation: spinner-circle 1s ease-in-out infinite;
  35. border-radius: 50%;
  36. box-shadow:inset 0 0 0 .1em #3aa8ed;
  37. }
  38. @keyframes spinner-circle {
  39. 0% {
  40. transform: rotate(-180deg);
  41. }
  42. 100% {
  43. transform: rotate(180deg);
  44. }
  45. }
  46. </style>
  47. </head>
  48. <body>
  49. <div class="spinner"><i></i></div>
  50. </body>
  51. </html>

主要由三部分构成,半透明圆弧,透明矩形的一半,蓝色半圆弧。透明半圆弧和蓝色半圆弧交替旋转。

这里需要注意的是css3中的clip,用来实现剪裁。

发表评论

表情:
评论列表 (有 0 条评论,379人围观)

还没有评论,来说两句吧...

相关阅读