پیش‌نمایش زنده
کد HTML
<section class="container-loader">
  <aside class="loader">
    <div style="--s: 0" class="aro"></div>
    <div style="--s: 1" class="aro"></div>
    <div style="--s: 2" class="aro"></div>
    <div style="--s: 3" class="aro"></div>
    <div style="--s: 4" class="aro"></div>
    <div style="--s: 5" class="aro"></div>
    <div style="--s: 6" class="aro"></div>
    <div style="--s: 7" class="aro"></div>
    <div style="--s: 8" class="aro"></div>
    <div style="--s: 9" class="aro"></div>
    <div style="--s: 10" class="aro"></div>
    <div style="--s: 11" class="aro"></div>
    <div style="--s: 12" class="aro"></div>
    <div style="--s: 13" class="aro"></div>
    <div style="--s: 14" class="aro"></div>
  </aside>
</section>
کد CSS
.container-loader {
  display: flex;
  flex-wrap: wrap;
  place-content: center;

  .loader {
    position: absolute;
    width: 300px;
    height: 300px;
    position: relative;
    transform-style: preserve-3d;
    transform: perspective(500px) rotateX(60deg);

    @media (width <= 1111px) {
      zoom: 0.7;
    }

    .aro {
      position: absolute;
      inset: calc(var(--s) * 10px);
      border: 1px solid white;
      background-color: #fff2;
      clip-path: polygon(0 100%, 50% 0, 100% 100%);
      animation: up_and_down 3s infinite ease-in-out both;
      animation-delay: calc(var(--s) * -0.1s);
    }
  }
}

@keyframes up_and_down {
  0%,
  100% {
    transform: translateZ(-100px);
  }
  50% {
    transform: translateZ(100px);
  }
}
نوع: loader
تاریخ ایجاد: 2026/06/06
آخرین بروزرسانی: 2026/06/06