پیش‌نمایش زنده
کد HTML
<section class="loader">
  <aside class="base base-top"></aside>
  <aside class="side side-1"></aside>
  <aside class="side side-2"></aside>
  <aside class="side side-3"></aside>
  <aside class="side side-4"></aside>
  <aside class="side side-5"></aside>
  <aside class="side side-6"></aside>
  <aside class="side side-7"></aside>
  <aside class="side side-8"></aside>
  <aside class="base base-bottom"></aside>
</section>
کد CSS
.loader {
  --size: 130px;
  --zoom: 0.6;
  --bg-blend-mode: difference;
  --min-deg: 1deg;
  --max-deg: 2deg;
  --general-gradient: repeating-conic-gradient(
      from 0deg at 0% 0%,
      #fff 0 var(--min-deg),
      magenta var(--min-deg) var(--max-deg)
    ),
    repeating-conic-gradient(
      from 0deg at 100% 0%,
      #fff 0 var(--min-deg),
      magenta var(--min-deg) var(--max-deg)
    ),
    repeating-conic-gradient(
      from 0deg at 100% 100%,
      #fff 0 var(--min-deg),
      magenta var(--min-deg) var(--max-deg)
    ),
    repeating-conic-gradient(
      from 0deg at 0% 100%,
      #fff 0 var(--min-deg),
      magenta var(--min-deg) var(--max-deg)
    );

  width: var(--size);
  height: var(--size);
  zoom: var(--zoom);
  position: relative;
  perspective: 10000px;
  transform-style: preserve-3d;
  animation: rotar 20s linear infinite alternate both;

  &:hover {
    .side,
    .base {
      filter: brightness(200%);
    }
  }

  .side,
  .base {
    transition: filter 0.4s ease;
    /* filter: brightness(500%) invert(1); */
  }

  .base {
    width: 100%;
    height: 100%;
    position: absolute;
    clip-path: polygon(
      0% 25%,
      25% 0,
      75% 0,
      100% 25%,
      100% 75%,
      75% 100%,
      25% 100%,
      0% 75%
    );
    transform-origin: 50% 0;
    transform: rotateX(-90deg);
    background-image: var(--general-gradient);
    background-blend-mode: var(--bg-blend-mode);

    &.base-top {
      top: 0;
    }

    &.base-bottom {
      top: 180%;
    }
  }

  .side {
    position: absolute;
    width: 50%;
    height: 180%;
    left: 50%;
    top: 0;
    background-image: var(--general-gradient);
    background-blend-mode: var(--bg-blend-mode);

    &.side-1 {
      transform: translateX(-50%) translateZ(-130px);
    }

    &.side-2 {
      width: 35%;
      transform-origin: 100% 0%;
      transform: translateX(-28%) translateZ(-130px) rotateY(135deg);
    }

    &.side-3 {
      width: 35%;
      transform-origin: 0% 0%;
      transform: translateX(-71%) translateZ(-130px) rotateY(-135deg);
    }

    &.side-4 {
      transform: translateX(50%) translateZ(-65px) rotateY(90deg);
    }

    &.side-5 {
      transform: translateX(-150%) translateZ(-65px) rotateY(90deg);
    }

    &.side-6 {
      width: 35%;
      transform-origin: 100% 0%;
      transform: translateX(-28%) rotateY(-135deg);
    }

    &.side-7 {
      width: 35%;
      transform-origin: 0% 0%;
      transform: translateX(-71%) rotateY(135deg);
    }

    &.side-8 {
      transform: translateX(-50%);
    }
  }
}

@keyframes rotar {
  0% {
    transform: rotateX(-360deg) rotateY(-360deg);
  }

  100% {
    transform: rotateX(360deg) rotateY(360deg);
  }
}
نوع: loader
تاریخ ایجاد: 2026/06/06
آخرین بروزرسانی: 2026/06/06