<svg viewBox="0 0 50 50" class="spinner">
  <circle class="ring" cx="25" cy="25" r="22.5" />
  <circle class="line" cx="25" cy="25" r="22.5" />
</svg>
  
.spinner {
  --spinner-size: 5;
  --line-color: #5b61ff;
  --line-alpha: 1;
  --ring-color: #000000;
  --ring-alpha: .15;
  --ring-size: 10;

  font-size: calc(var(--spinner-size) * 1em);
  width: 1em;
  height: 1em;
  border-radius: 50%;
}

.spinner .line {
  fill: none;
  stroke: var(--line-color);
  stroke-width: var(--ring-size);
  opacity: var(--line-alpha);
  stroke-linecap: round;
  transform-origin: 50% 50%;
  transform: rotate3d(0, 0, 1, 0deg);
  animation: 
    2156ms spinner-arc ease-in-out infinite,
    1829ms spinner-rotate linear infinite;
}

.spinner .ring {
  fill: none;
  stroke: var(--ring-color);
  stroke-width: var(--ring-size);
  opacity: var(--ring-alpha);
}

@keyframes spinner-rotate {
  to { transform: rotate3d(0, 0, 1, 360deg); }
}

@keyframes spinner-arc {
  from { stroke-dasharray: 0 150; stroke-dashoffset: 0; }
  to { stroke-dasharray: 100 150; stroke-dashoffset: -140; }
}

Loading尺寸: 5em


圆环粗细: 10

内容颜色: #5b61ff


内容透明度: 1

圆环颜色: #000000


圆环透明度: .15