پیش‌نمایش زنده
کد HTML
<button class="cosmic-portal-btn">
  <span class="btn-text">Cosmic Portal</span>
  <div class="portal-effect"></div>
</button>
کد CSS
.cosmic-portal-btn {
  --btn-bg: #1a1a2e;
  --btn-color: #e94560;
  --btn-highlight: #16213e;
  --portal-color1: #0f3460;
  --portal-color2: #e94560;

  position: relative;
  font-family: Arial, sans-serif;
  font-size: 1.2em;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--btn-color);
  background-color: var(--btn-bg);
  border: none;
  padding: 1em 2em;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.3s ease;
  clip-path: polygon(0% 0%, 100% 0%, 100% 70%, 90% 100%, 10% 100%, 0% 70%);
}

.cosmic-portal-btn::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: conic-gradient(
    from 0deg at 50% 50%,
    var(--portal-color1) 0deg,
    var(--portal-color2) 120deg,
    var(--portal-color1) 240deg,
    var(--portal-color2) 360deg
  );
  animation: rotatePortal 10s linear infinite;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.cosmic-portal-btn:hover::before {
  opacity: 0.8;
}

.cosmic-portal-btn::after {
  content: "";
  position: absolute;
  inset: 0.15em;
  background-color: var(--btn-bg);
  clip-path: inherit;
  z-index: 1;
}

.btn-text {
  position: relative;
  z-index: 2;
}

.portal-effect {
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at 50% 50%,
    var(--btn-highlight),
    transparent 50%
  );
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.cosmic-portal-btn:hover .portal-effect {
  opacity: 1;
  animation: pulsePortal 2s ease-in-out infinite;
}

.cosmic-portal-btn:hover {
  transform: translateY(-0.25em);
  box-shadow: 0 0.5em 1em rgba(233, 69, 96, 0.2);
}

.cosmic-portal-btn:active {
  transform: translateY(0);
}

.cosmic-portal-btn:focus {
  outline: none;
  box-shadow: 0 0 0 0.2em rgba(233, 69, 96, 0.5);
}

@keyframes rotatePortal {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes pulsePortal {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cosmic-portal-btn::before,
  .cosmic-portal-btn:hover .portal-effect {
    animation: none;
  }
}
نوع: button
تاریخ ایجاد: 2026/06/05
آخرین بروزرسانی: 2026/06/05