پیش‌نمایش زنده
کد HTML
<section class="loader">
  <article class="container">
    <div class="base base-top"></div>
    <div class="side side-1"></div>
    <div class="side side-2"></div>
    <div class="side side-3"></div>
    <div class="side side-4"></div>
    <div class="side side-5"></div>
    <div class="side side-6"></div>

    <article class="container container-bottom container-2">
      <div class="base base-top"></div>
      <div class="side side-1"></div>
      <div class="side side-2"></div>
      <div class="side side-3"></div>
      <div class="side side-4"></div>
      <div class="side side-5"></div>
      <div class="side side-6"></div>
    </article>
  </article>
</section>
کد CSS
.loader {
  zoom: 0.5;

  .container {
    width: 180px;
    height: 150px;
    perspective: 10000px;
    transform-style: preserve-3d;
    position: relative;
    animation: rotar 30s linear infinite alternate both;

    &.container-bottom {
      position: absolute;
      animation: none;
      left: 50%;
      transform: translate(-50%, -50%) rotate(-360deg);
    }

    &.container-2 {
      top: 20px;
      transform: translate(-50%, -50%) rotate(180deg);
    }

    .base {
      width: 100%;
      height: 100%;
      clip-path: polygon(
        0% 50%,
        25% 0,
        75% 0,
        100% 50%,
        75% 100%,
        25% 100%,
        0% 50%
      );
      position: absolute;
      transform-origin: 50% 0;
      transform: rotateX(-90deg);

      &.base-top {
        background-color: #fff4;
        top: 0;
      }
    }

    .side {
      position: absolute;
      width: 49.5%;
      left: 50%;
      height: 180%;
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      --rotate-x-general: 35deg;
      --rotate-x-general-negative: calc(-1 * var(--rotate-x-general));
      background-image: radial-gradient(
        circle at 100% 100%,
        magenta,
        mediumturquoise,
        mediumslateblue
      );

      &.side-1 {
        background-color: #0f08;
        transform-origin: 50% 0;
        transform: translateX(-50%) translateZ(-150px)
          rotateX(var(--rotate-x-general));
      }
      &.side-2 {
        background-color: #00f8;
        width: 49%;
        transform-origin: 100% 0%;
        transform: translateX(-50%) translateZ(-150px) rotateY(-239deg)
          rotateX(var(--rotate-x-general-negative));
      }
      &.side-3 {
        background-color: #f008;
        width: 49%;
        transform-origin: 0% 0%;
        transform: translateX(-50%) translateZ(-150px) rotateY(239deg)
          rotateX(var(--rotate-x-general-negative));
      }
      &.side-4 {
        background-color: #ff08;
        width: 49%;
        transform-origin: 0% 0%;
        transform: translateX(-50%) rotateY(-239deg)
          rotateX(var(--rotate-x-general));
      }
      &.side-5 {
        background-color: #0ff8;
        width: 49%;
        transform-origin: 100% 0%;
        transform: translateX(-50%) rotateY(239deg)
          rotateX(var(--rotate-x-general));
      }

      &.side-6 {
        background-color: #0f04;
        transform-origin: 50% 0;
        transform: translateX(-50%) rotateX(var(--rotate-x-general-negative));
      }
    }
  }
}

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