پیش‌نمایش زنده
کد HTML
<div class="loader">
  <div class="cube">
    <div class="face front">
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
    </div>
    <div class="face back">
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
    </div>
    <div class="face right">
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
    </div>
    <div class="face left">
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
    </div>
    <div class="face top">
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
    </div>
    <div class="face bottom">
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
      <div class="sticker"></div>
    </div>
  </div>
</div>
کد CSS
.loader {
  position: relative;
  width: 180px;
  height: 180px;
  transform-style: preserve-3d;
  animation: rotate-cube 8s cubic-bezier(0.76, 0, 0.24, 1) infinite;
  transition: transform 0.6s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

.loader:hover {
  animation-play-state: paused;
  transform: scale(1.15); /* Scaling only on hover */
}

.cube {
  position: absolute;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transform: rotateX(35.264deg) rotateY(45deg); /* Isometric angle for square consistency */
}

.face {
  position: absolute;
  width: 180px;
  height: 180px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 6px;
  padding: 6px;
  box-sizing: border-box;
  background: rgba(10, 20, 30, 0.9);
  border: 3px solid rgba(255, 255, 255, 0.15);
  transition: box-shadow 0.4s cubic-bezier(0.4, 0, 0.6, 1);
}

.face:hover {
  box-shadow: 0 0 25px rgba(255, 255, 255, 0.4);
}

.sticker {
  background: #fff;
  border-radius: 8px;
  animation: sticker-bounce 1.5s cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite;
}

/* Face positions */
.front {
  transform: translateZ(90px);
}
.back {
  transform: translateZ(-90px) rotateY(180deg);
}
.right {
  transform: translateX(90px) rotateY(90deg);
}
.left {
  transform: translateX(-90px) rotateY(-90deg);
}
.top {
  transform: translateY(-90px) rotateX(90deg);
}
.bottom {
  transform: translateY(90px) rotateX(-90deg);
}

/* Unique gradient colors */
.front .sticker {
  background: linear-gradient(135deg, #ff1e56, #ff577f);
}
.back .sticker {
  background: linear-gradient(135deg, #ff9f1c, #ffbf69);
}
.right .sticker {
  background: linear-gradient(135deg, #2ecc71, #54e6a3);
}
.left .sticker {
  background: linear-gradient(135deg, #1e90ff, #4ab8ff);
}
.top .sticker {
  background: linear-gradient(135deg, #ecf0f1, #bdc3c7);
}
.bottom .sticker {
  background: linear-gradient(135deg, #f1c40f, #f4d03f);
}

/* Cube rotation with consistent square shape */
@keyframes rotate-cube {
  0% {
    transform: rotateX(35.264deg) rotateY(45deg) rotateZ(0deg);
  }
  25% {
    transform: rotateX(35.264deg) rotateY(135deg) rotateZ(0deg);
  }
  50% {
    transform: rotateX(35.264deg) rotateY(225deg) rotateZ(0deg);
  }
  75% {
    transform: rotateX(35.264deg) rotateY(315deg) rotateZ(0deg);
  }
  100% {
    transform: rotateX(35.264deg) rotateY(405deg) rotateZ(0deg);
  }
}

/* Sticker bounce animation */
@keyframes sticker-bounce {
  0% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(0) scale(1.04);
  }
  100% {
    transform: translateY(0) scale(1);
  }
}
نوع: loader
تاریخ ایجاد: 2026/06/06
آخرین بروزرسانی: 2026/06/06