CircleSpinner.vue 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <template>
  2. <div class="loader" :style="{fontSize: size + 'px', borderLeft: '1.1em solid ' + color}">Loading...</div>
  3. </template>
  4. <script>
  5. export default {
  6. name: 'IntersectingCirclesSpinner',
  7. props: {
  8. color: {
  9. type: String,
  10. default: '#fff'
  11. },
  12. size: {
  13. type: String,
  14. default: '10'
  15. }
  16. },
  17. }
  18. </script>
  19. <style scoped>
  20. .loader,
  21. .loader:after {
  22. border-radius: 50%;
  23. width: 10em;
  24. height: 10em;
  25. }
  26. .loader {
  27. margin: 0px auto;
  28. position: relative;
  29. text-indent: -9999em;
  30. border-top: 1.1em solid rgba(255, 255, 255, 0.2);
  31. border-right: 1.1em solid rgba(255, 255, 255, 0.2);
  32. border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
  33. -webkit-transform: translateZ(0);
  34. -ms-transform: translateZ(0);
  35. transform: translateZ(0);
  36. -webkit-animation: load8 1.1s infinite linear;
  37. animation: load8 1.1s infinite linear;
  38. overflow: hidden;
  39. }
  40. @-webkit-keyframes load8 {
  41. 0% {
  42. -webkit-transform: rotate(0deg);
  43. transform: rotate(0deg);
  44. }
  45. 100% {
  46. -webkit-transform: rotate(360deg);
  47. transform: rotate(360deg);
  48. }
  49. }
  50. @keyframes load8 {
  51. 0% {
  52. -webkit-transform: rotate(0deg);
  53. transform: rotate(0deg);
  54. }
  55. 100% {
  56. -webkit-transform: rotate(360deg);
  57. transform: rotate(360deg);
  58. }
  59. }
  60. </style>