style.scss 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. $width: 160px;
  2. .spin {
  3. width: $width;
  4. height: $width;
  5. border-radius: 100%;
  6. display: inline-block;
  7. position: relative;
  8. animation: spin-rotate 4s linear infinite;
  9. box-sizing: border-box;
  10. view {
  11. box-sizing: border-box;
  12. position: absolute;
  13. }
  14. .mask-left, .mask-right {
  15. // background: #fff;
  16. top: 0;
  17. width: calc(50% + 1px);
  18. height: 100%;
  19. overflow: hidden;
  20. }
  21. .mask-left {
  22. left: 0;
  23. .spin-bar {
  24. left: 100%;
  25. border-top-right-radius: $width;
  26. border-bottom-right-radius: $width;
  27. border-left: 0;
  28. // transform: rotate(180deg);
  29. transform-origin: center left;
  30. animation: spin-rotate-right 1.2s cubic-bezier(.25,.5,.25,1) 0.6s infinite, spin-color 2s linear infinite;
  31. }
  32. }
  33. .mask-right {
  34. right: 0;
  35. .spin-bar {
  36. left: -100%;
  37. border-top-left-radius: $width;
  38. border-bottom-left-radius: $width;
  39. border-right: 0;
  40. transform-origin: center right;
  41. animation: spin-rotate-right 1.2s cubic-bezier(1,.25,.5,.25) infinite, spin-color 2s linear infinite;
  42. }
  43. }
  44. .spin-bar {
  45. float: left;
  46. width: 100%;
  47. height: 100%;
  48. border-width: 4px;
  49. border-style: solid;
  50. }
  51. }
  52. @keyframes spin-rotate-right {
  53. 0% {
  54. transform: rotate(0deg);
  55. }
  56. 50% {
  57. transform: rotate(180deg);
  58. }
  59. 100% {
  60. transform: rotate(360deg);
  61. }
  62. }
  63. @keyframes spin-rotate-left {
  64. 0% {
  65. transform: rotate(180deg);
  66. }
  67. 50% {
  68. transform: rotate(360deg);
  69. }
  70. 100% {
  71. transform: rotate(540deg);
  72. }
  73. }
  74. @keyframes spin-rotate {
  75. 0% {
  76. transform: rotate(0deg);
  77. }
  78. 100% {
  79. transform: rotate(360deg);
  80. }
  81. }
  82. @keyframes spin-color {
  83. 0%, 100% {
  84. border-color: #d62d20;
  85. }
  86. 40% {
  87. border-color: #0057e7;
  88. }
  89. 60% {
  90. border-color: #008744;
  91. }
  92. 80%, 90% {
  93. border-color: #ffa700;
  94. }
  95. }
  96. .spin2box {
  97. width: 100%;
  98. height: 100%;
  99. position: absolute;
  100. top: 0;
  101. left: 0;
  102. z-index: 100;
  103. text-align: center;
  104. background: rgba(255, 255, 255, .75);
  105. .spin2 {
  106. display: inline-block;
  107. position: absolute;
  108. left: 50%;
  109. top: 50%;
  110. transform: translate(-50%, -50%);
  111. }
  112. }