پیش‌نمایش زنده
کد HTML
<div class="bg">
  <div class="tracker tr-1"></div>
  <div class="tracker tr-2"></div>
  <div class="tracker tr-3"></div>
  <div class="tracker tr-4"></div>
  <div class="tracker tr-5"></div>
  <div class="tracker tr-6"></div>
  <div class="tracker tr-7"></div>
  <div class="tracker tr-8"></div>
  <div class="tracker tr-9"></div>
  <div class="tracker tr-10"></div>
  <div class="tracker tr-11"></div>
  <div class="tracker tr-12"></div>
  <div class="tracker tr-13"></div>
  <div class="tracker tr-14"></div>
  <div class="tracker tr-15"></div>
  <div class="tracker tr-16"></div>
  <div class="tracker tr-17"></div>
  <div class="tracker tr-18"></div>
  <div class="tracker tr-19"></div>
  <div class="tracker tr-20"></div>
  <div class="tracker tr-21"></div>
  <div class="tracker tr-22"></div>
  <div class="tracker tr-23"></div>
  <div class="tracker tr-24"></div>
  <div class="tracker tr-25"></div>
  <div class="glow-background"></div>
  <div class="particles">
    <div class="dust d1"></div>
    <div class="dust d2"></div>
    <div class="dust d3"></div>
  </div>
  <div class="stage">
    <div class="scene">
      <div class="bob-wrapper">
        <div class="diamond">
          <div class="facet table"></div>
          <div class="facet crown c1"></div>
          <div class="facet crown c2"></div>
          <div class="facet crown c3"></div>
          <div class="facet crown c4"></div>
          <div class="facet crown c5"></div>
          <div class="facet crown c6"></div>
          <div class="facet crown c7"></div>
          <div class="facet crown c8"></div>
          <div class="facet pavilion p1"></div>
          <div class="facet pavilion p2"></div>
          <div class="facet pavilion p3"></div>
          <div class="facet pavilion p4"></div>
          <div class="facet pavilion p5"></div>
          <div class="facet pavilion p6"></div>
          <div class="facet pavilion p7"></div>
          <div class="facet pavilion p8"></div>
        </div>
      </div>
    </div>
  </div>
</div>
کد CSS
.bg {
  background: radial-gradient(circle at center, #1a1a24 0%, #000000 100%);
  overflow: hidden;
  font-family: sans-serif;
  width: 100%;
  height: 100%;
}
.tracker {
  position: absolute;
  width: 20%;
  height: 20%;
  z-index: 100;
}
.tr-1 {
  top: 0;
  left: 0;
}
.tr-2 {
  top: 0;
  left: 20%;
}
.tr-3 {
  top: 0;
  left: 40%;
}
.tr-4 {
  top: 0;
  left: 60%;
}
.tr-5 {
  top: 0;
  left: 80%;
}
.tr-6 {
  top: 20%;
  left: 0;
}
.tr-7 {
  top: 20%;
  left: 20%;
}
.tr-8 {
  top: 20%;
  left: 40%;
}
.tr-9 {
  top: 20%;
  left: 60%;
}
.tr-10 {
  top: 20%;
  left: 80%;
}
.tr-11 {
  top: 40%;
  left: 0;
}
.tr-12 {
  top: 40%;
  left: 20%;
}
.tr-13 {
  top: 40%;
  left: 40%;
}
.tr-14 {
  top: 40%;
  left: 60%;
}
.tr-15 {
  top: 40%;
  left: 80%;
}
.tr-16 {
  top: 60%;
  left: 0;
}
.tr-17 {
  top: 60%;
  left: 20%;
}
.tr-18 {
  top: 60%;
  left: 40%;
}
.tr-19 {
  top: 60%;
  left: 60%;
}
.tr-20 {
  top: 60%;
  left: 80%;
}
.tr-21 {
  top: 80%;
  left: 0;
}
.tr-22 {
  top: 80%;
  left: 20%;
}
.tr-23 {
  top: 80%;
  left: 40%;
}
.tr-24 {
  top: 80%;
  left: 60%;
}
.tr-25 {
  top: 80%;
  left: 80%;
}
.tr-1:hover ~ .stage .scene {
  transform: rotateX(30deg) rotateY(-30deg);
}
.tr-2:hover ~ .stage .scene {
  transform: rotateX(30deg) rotateY(-15deg);
}
.tr-3:hover ~ .stage .scene {
  transform: rotateX(30deg) rotateY(0deg);
}
.tr-4:hover ~ .stage .scene {
  transform: rotateX(30deg) rotateY(15deg);
}
.tr-5:hover ~ .stage .scene {
  transform: rotateX(30deg) rotateY(30deg);
}
.tr-6:hover ~ .stage .scene {
  transform: rotateX(15deg) rotateY(-30deg);
}
.tr-7:hover ~ .stage .scene {
  transform: rotateX(15deg) rotateY(-15deg);
}
.tr-8:hover ~ .stage .scene {
  transform: rotateX(15deg) rotateY(0deg);
}
.tr-9:hover ~ .stage .scene {
  transform: rotateX(15deg) rotateY(15deg);
}
.tr-10:hover ~ .stage .scene {
  transform: rotateX(15deg) rotateY(30deg);
}
.tr-11:hover ~ .stage .scene {
  transform: rotateX(0deg) rotateY(-30deg);
}
.tr-12:hover ~ .stage .scene {
  transform: rotateX(0deg) rotateY(-15deg);
}
.tr-13:hover ~ .stage .scene {
  transform: rotateX(0deg) rotateY(0deg);
}
.tr-14:hover ~ .stage .scene {
  transform: rotateX(0deg) rotateY(15deg);
}
.tr-15:hover ~ .stage .scene {
  transform: rotateX(0deg) rotateY(30deg);
}
.tr-16:hover ~ .stage .scene {
  transform: rotateX(-15deg) rotateY(-30deg);
}
.tr-17:hover ~ .stage .scene {
  transform: rotateX(-15deg) rotateY(-15deg);
}
.tr-18:hover ~ .stage .scene {
  transform: rotateX(-15deg) rotateY(0deg);
}
.tr-19:hover ~ .stage .scene {
  transform: rotateX(-15deg) rotateY(15deg);
}
.tr-20:hover ~ .stage .scene {
  transform: rotateX(-15deg) rotateY(30deg);
}
.tr-21:hover ~ .stage .scene {
  transform: rotateX(-30deg) rotateY(-30deg);
}
.tr-22:hover ~ .stage .scene {
  transform: rotateX(-30deg) rotateY(-15deg);
}
.tr-23:hover ~ .stage .scene {
  transform: rotateX(-30deg) rotateY(0deg);
}
.tr-24:hover ~ .stage .scene {
  transform: rotateX(-30deg) rotateY(15deg);
}
.tr-25:hover ~ .stage .scene {
  transform: rotateX(-30deg) rotateY(30deg);
}
.glow-background {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 400px;
  height: 400px;
  background: radial-gradient(
    circle,
    rgba(255, 20, 50, 0.25) 0%,
    rgba(255, 0, 100, 0.05) 40%,
    transparent 70%
  );
  border-radius: 50%;
  z-index: 1;
  animation: pulse 5s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
  pointer-events: none;
  will-change: transform, opacity;
}
@keyframes pulse {
  0% {
    transform: translate(-50%, -50%) scale(0.85);
    opacity: 0.5;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.15);
    opacity: 1;
  }
}
.particles {
  position: absolute;
  width: 100%;
  height: 100%;
  perspective: 800px;
  pointer-events: none;
  transform-style: preserve-3d;
  z-index: 2;
}
.dust {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 4px;
  height: 4px;
  background: #ff5577;
  border-radius: 50%;
  transform-style: preserve-3d;
  will-change: transform;
}
.d1 {
  box-shadow:
    120px 80px 1px 1px rgba(255, 85, 119, 0.8),
    -150px -90px 2px 0 rgba(255, 85, 119, 0.5),
    200px -200px 1px 1px rgba(255, 85, 119, 0.7),
    -250px 180px 3px 0 rgba(255, 85, 119, 0.4),
    50px 280px 1px 1px rgba(255, 85, 119, 0.6),
    -80px -250px 2px 1px rgba(255, 85, 119, 0.8),
    300px 50px 1px 0 rgba(255, 85, 119, 0.5),
    -320px -50px 2px 1px rgba(255, 85, 119, 0.7),
    180px 220px 1px 1px rgba(255, 85, 119, 0.9),
    -190px -210px 2px 0 rgba(255, 85, 119, 0.4);
  animation: spin-dust 40s linear infinite;
}
.d2 {
  box-shadow:
    100px -150px 2px 1px rgba(255, 85, 119, 0.6),
    -120px 180px 1px 0 rgba(255, 85, 119, 0.9),
    250px 150px 3px 1px rgba(255, 85, 119, 0.5),
    -220px -180px 1px 1px rgba(255, 85, 119, 0.8),
    80px -300px 2px 0 rgba(255, 85, 119, 0.4),
    -50px 290px 1px 1px rgba(255, 85, 119, 0.7),
    310px -100px 2px 1px rgba(255, 85, 119, 0.6),
    -290px 120px 1px 0 rgba(255, 85, 119, 0.9),
    140px -260px 2px 1px rgba(255, 85, 119, 0.5),
    -160px 240px 1px 1px rgba(255, 85, 119, 0.8);
  animation: spin-dust 55s linear infinite reverse;
}
.d3 {
  box-shadow:
    50px 50px 1px 1px rgba(255, 85, 119, 0.8),
    -70px -60px 2px 0 rgba(255, 85, 119, 0.5),
    140px 120px 1px 1px rgba(255, 85, 119, 0.7),
    -160px -140px 3px 0 rgba(255, 85, 119, 0.4),
    220px 200px 1px 1px rgba(255, 85, 119, 0.6),
    -240px -220px 2px 1px rgba(255, 85, 119, 0.8),
    350px 300px 1px 0 rgba(255, 85, 119, 0.5),
    -370px -320px 2px 1px rgba(255, 85, 119, 0.7),
    280px 260px 1px 1px rgba(255, 85, 119, 0.9),
    -300px -280px 2px 0 rgba(255, 85, 119, 0.4);
  animation: spin-dust 70s linear infinite;
}
@keyframes spin-dust {
  0% {
    transform: translateZ(-200px) rotateZ(0deg) rotateX(20deg);
  }
  100% {
    transform: translateZ(-200px) rotateZ(360deg) rotateX(20deg);
  }
}
.stage {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1200px;
  pointer-events: none;
  z-index: 10;
}
.scene {
  width: 0;
  height: 0;
  transform-style: preserve-3d;
  transition: transform 1.2s cubic-bezier(0.1, 1, 0.2, 1);
  will-change: transform;
}
.bob-wrapper {
  transform-style: preserve-3d;
  animation: bob 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  will-change: transform;
}
@keyframes bob {
  0%,
  100% {
    transform: translateY(-12px);
  }
  50% {
    transform: translateY(12px);
  }
}
.diamond {
  transform-style: preserve-3d;
  animation: spin 14s linear infinite;
  will-change: transform;
}
@keyframes spin {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}
.facet {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -50px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  background-size: 200% 200%;
  animation: shimmer 5s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
  border: 1px solid rgba(255, 100, 150, 0.1);
  box-sizing: border-box;
  will-change: background-position, filter;
}
@keyframes shimmer {
  0% {
    background-position: 0% 0%;
    filter: brightness(0.85);
  }
  100% {
    background-position: 100% 100%;
    filter: brightness(1.35);
  }
}
.c1,
.c3,
.c5,
.c7,
.p1,
.p3,
.p5,
.p7 {
  background-image: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.4) 0%,
    rgba(255, 20, 50, 0.6) 40%,
    rgba(150, 0, 30, 0.8) 100%
  );
}
.c2,
.c4,
.c6,
.c8,
.p2,
.p4,
.p6,
.p8 {
  background-image: linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.2) 0%,
    rgba(255, 0, 80, 0.7) 60%,
    rgba(100, 0, 20, 0.9) 100%
  );
}
.table {
  background-image: radial-gradient(
    circle at center,
    rgba(255, 255, 255, 0.5) 0%,
    rgba(255, 20, 50, 0.6) 50%,
    rgba(150, 0, 30, 0.8) 100%
  );
}
.c1,
.p1 {
  animation-delay: 0s;
}
.c2,
.p2 {
  animation-delay: 0.6s;
}
.c3,
.p3 {
  animation-delay: 1.2s;
}
.c4,
.p4 {
  animation-delay: 1.8s;
}
.c5,
.p5 {
  animation-delay: 2.4s;
}
.c6,
.p6 {
  animation-delay: 3s;
}
.c7,
.p7 {
  animation-delay: 3.6s;
}
.c8,
.p8 {
  animation-delay: 4.2s;
}
.crown {
  width: 100px;
  height: 69.5px;
  margin-top: -69.5px;
  transform-origin: bottom center;
  clip-path: polygon(20% 0, 80% 0, 100% 100%, 0 100%);
}
.pavilion {
  width: 100px;
  height: 192.5px;
  margin-top: 0;
  transform-origin: top center;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.table {
  width: 144.86px;
  height: 144.86px;
  margin-left: -72.43px;
  margin-top: -72.43px;
  transform: translateY(-50px) rotateX(90deg);
  clip-path: polygon(
    29.3% 0%,
    70.7% 0%,
    100% 29.3%,
    100% 70.7%,
    70.7% 100%,
    29.3% 100%,
    0% 70.7%,
    0% 29.3%
  );
}
.c1 {
  transform: rotateY(0deg) translateZ(120.7px) rotateX(44deg);
}
.c2 {
  transform: rotateY(45deg) translateZ(120.7px) rotateX(44deg);
}
.c3 {
  transform: rotateY(90deg) translateZ(120.7px) rotateX(44deg);
}
.c4 {
  transform: rotateY(135deg) translateZ(120.7px) rotateX(44deg);
}
.c5 {
  transform: rotateY(180deg) translateZ(120.7px) rotateX(44deg);
}
.c6 {
  transform: rotateY(225deg) translateZ(120.7px) rotateX(44deg);
}
.c7 {
  transform: rotateY(270deg) translateZ(120.7px) rotateX(44deg);
}
.c8 {
  transform: rotateY(315deg) translateZ(120.7px) rotateX(44deg);
}
.p1 {
  transform: rotateY(0deg) translateZ(120.7px) rotateX(-38.8deg);
}
.p2 {
  transform: rotateY(45deg) translateZ(120.7px) rotateX(-38.8deg);
}
.p3 {
  transform: rotateY(90deg) translateZ(120.7px) rotateX(-38.8deg);
}
.p4 {
  transform: rotateY(135deg) translateZ(120.7px) rotateX(-38.8deg);
}
.p5 {
  transform: rotateY(180deg) translateZ(120.7px) rotateX(-38.8deg);
}
.p6 {
  transform: rotateY(225deg) translateZ(120.7px) rotateX(-38.8deg);
}
.p7 {
  transform: rotateY(270deg) translateZ(120.7px) rotateX(-38.8deg);
}
.p8 {
  transform: rotateY(315deg) translateZ(120.7px) rotateX(-38.8deg);
}
نوع: loader
تاریخ ایجاد: 2026/06/06
آخرین بروزرسانی: 2026/06/06