پیش‌نمایش زنده
کد HTML
<div class="loader">
  <div class="loader-inner">
    <div class="blob b1"></div>
    <div class="blob b2"></div>
    <div class="blob b3"></div>
    <div class="blob b4"></div>
    <div class="blob b5"></div>
  </div>
</div>
کد CSS
.loader {
  --c1: #ffbf48;
  --c2: #be4a1d;
  --t: 2s;
  --size: 1;
  position: relative;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  transform: scale(var(--size));
  box-shadow:
    0 0 25px 0 #ffbf4780,
    0 20px 50px 0 #bf4a1d80;
  animation: colorize calc(var(--t) * 3) ease-in-out infinite;
  overflow: hidden;
}

.loader::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border-top: 1px solid var(--c1);
  border-bottom: 1px solid var(--c2);
  background: linear-gradient(180deg, #ffbf4740, #bf4a1d80);
  box-shadow:
    inset 0 10px 10px 0 #ffbf4780,
    inset 0 -10px 10px 0 #bf4a1d80;
}

.loader-inner {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  overflow: hidden;
  filter: url('data:image/svg+xml,<svg xmlns="://www.w3.org/2000/svg"><filter id="g"><feGaussianBlur in="SourceGraphic" stdDeviation="5"/><feColorMatrix values="1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 22 -9"/></filter></svg>#g');
  -webkit-filter: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"><filter id="g"><feGaussianBlur in="SourceGraphic" stdDeviation="5"/><feColorMatrix values="1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 22 -9"/></filter></svg>#g');
}

.blob {
  position: absolute;
  border-radius: 42%;
  background: linear-gradient(180deg, var(--c1) 30%, var(--c2) 70%);
}

.b1 {
  width: 44px;
  height: 44px;
  top: 12px;
  left: 28px;
  transform-origin: 50% 130%;
  animation: spin var(--t) linear infinite reverse;
}

.b2 {
  width: 40px;
  height: 40px;
  top: 18px;
  left: 30px;
  transform-origin: 50% -30%;
  animation: spin var(--t) linear infinite;
  animation-delay: calc(var(--t) / -3);
}

.b3 {
  width: 30px;
  height: 30px;
  top: 28px;
  left: 35px;
  transform-origin: -30% -10%;
  animation: spin var(--t) linear infinite reverse;
}

.b4 {
  width: 28px;
  height: 28px;
  top: 30px;
  left: 36px;
  transform-origin: -30% -10%;
  animation: spin var(--t) linear infinite reverse;
  animation-delay: calc(var(--t) / -2);
}

.b5 {
  width: 30px;
  height: 30px;
  top: 28px;
  left: 35px;
  transform-origin: 130% -10%;
  animation: spin var(--t) linear infinite;
}

.b6 {
  width: 28px;
  height: 28px;
  top: 30px;
  left: 36px;
  transform-origin: 130% -10%;
  animation: spin var(--t) linear infinite;
  animation-delay: calc(var(--t) / -1.5);
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes colorize {
  0% {
    filter: hue-rotate(0deg);
  }
  20% {
    filter: hue-rotate(-30deg);
  }
  40% {
    filter: hue-rotate(-60deg);
  }
  60% {
    filter: hue-rotate(-90deg);
  }
  80% {
    filter: hue-rotate(-45deg);
  }
  100% {
    filter: hue-rotate(0deg);
  }
}
نوع: loader
تاریخ ایجاد: 2026/06/06
آخرین بروزرسانی: 2026/06/06