پیش‌نمایش زنده
کد HTML
<div class="loader">
  <div class="simple-text">Hover me and click!</div>
  <div class="cube">
    <div class="face middle front">
      <div class="cube cube-front">
        <div class="face front"></div>
        <div class="face back"></div>
        <div class="face left"></div>
        <div class="face right"></div>
        <div class="face top"></div>
        <div class="face bottom"></div>
      </div>
    </div>
    <div class="face middle back">
      <div class="cube cube-back">
        <div class="face front"></div>
        <div class="face back"></div>
        <div class="face left"></div>
        <div class="face right"></div>
        <div class="face top"></div>
        <div class="face bottom"></div>
      </div>
    </div>
    <div class="face middle left">
      <div class="cube cube-left">
        <div class="face front"></div>
        <div class="face back"></div>
        <div class="face left"></div>
        <div class="face right"></div>
        <div class="face top"></div>
        <div class="face bottom"></div>
      </div>
    </div>
    <div class="face middle right">
      <div class="cube cube-right">
        <div class="face front"></div>
        <div class="face back"></div>
        <div class="face left"></div>
        <div class="face right"></div>
        <div class="face top"></div>
        <div class="face bottom"></div>
      </div>
    </div>
    <div class="face middle top">
      <div class="cube cube-top">
        <div class="face front"></div>
        <div class="face back"></div>
        <div class="face left"></div>
        <div class="face right"></div>
        <div class="face top"></div>
        <div class="face bottom"></div>
      </div>
    </div>
    <div class="face middle bottom">
      <div class="cube cube-bottom">
        <div class="face front"></div>
        <div class="face back"></div>
        <div class="face left"></div>
        <div class="face right"></div>
        <div class="face top"></div>
        <div class="face bottom"></div>
      </div>
    </div>
  </div>
</div>
کد CSS
.loader {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.simple-text {
  position: absolute;
  top: -100px;
  color: white;
  width: 200px;
  text-align: center;
}

.cube {
  position: absolute;
  width: 40px;
  transform-style: preserve-3d;
  transform: rotateX(-30deg) rotateY(45deg);
  transition: 300ms ease;
  cursor: pointer;
  animation: rotateCube 10s infinite linear;
}
/* change the distance between cubes with translateX */
.cube-front,
.cube-back {
  transform: translateX(40px) translateZ(-20px);
  animation: none;
}
/* change the distance between cubes with translateZ */
.cube-top,
.cube-bottom {
  transform: translateZ(20px);
  animation: none;
}
/* change the distance between cubes with translateX */
.cube-left,
.cube-right {
  transform: translateX(40px) translateZ(-20px);
  animation: none;
}

.face {
  position: absolute;
  transform-style: preserve-3d;
  width: 40px;
  height: 40px;
  background: rgb(21, 46, 75);
  background: radial-gradient(
    circle,
    rgba(21, 46, 75, 1) 0%,
    rgba(10, 14, 55, 1) 100%
  );
}

.front {
  transform: rotateY(0deg) translateZ(20px);
}

.back {
  transform: rotateY(180deg) translateZ(20px);
}

.left {
  transform: rotateY(-90deg) translateZ(20px);
}

.right {
  transform: rotateY(90deg) translateZ(20px);
}

.top {
  transform: rotateX(90deg) translateZ(20px);
}

.bottom {
  transform: rotateX(-90deg) translateZ(20px);
}

.cube-back:hover .face,
.cube-front:hover .face,
.cube-top:hover .face,
.cube-bottom:hover .face,
.cube-left:hover .face,
.cube-right:hover .face {
  background: rgb(255, 255, 255);
  background: radial-gradient(circle, white 60%, rgb(157, 208, 255) 100%);
  filter: drop-shadow(0px 0px 5px #e7faff)
    drop-shadow(0px 0px 15px rgb(75, 168, 255))
    drop-shadow(0px 0px 30px rgb(50, 156, 255));
}

.cube:active {
  transform: translateX(0px) translateZ(-20px);
}

.cube-back:active .face,
.cube-front:active .face,
.cube-top:active .face,
.cube-bottom:active .face,
.cube-left:active .face,
.cube-right:active .face {
  background: rgb(255, 255, 255);
  background: radial-gradient(circle, white 60%, rgb(157, 208, 255) 100%);
  filter: drop-shadow(0px 0px 5px #e7faff)
    drop-shadow(0px 0px 15px rgb(75, 168, 255))
    drop-shadow(0px 0px 30px rgb(50, 156, 255));
}

.middle {
  background: transparent;
}

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