پیش‌نمایش زنده
کد HTML
<button class="btn">
  <span class="shadow"></span>
  <span class="edge"></span>
  <span class="front">Just Press!</span>
</button>
کد CSS
.btn {
  position: relative;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  outline-offset: 4px;
  -webkit-tap-highlight-color: transparent;
}

.btn .shadow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  background: rgba(0, 0, 0, 0.2);
  will-change: transform;
  transform: translateY(6px);
  filter: blur(5px);
  transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);
}

.btn .edge {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  background: linear-gradient(
    to left,
    hsl(235, 80%, 40%) 0%,
    hsl(235, 80%, 55%) 12%,
    hsl(235, 80%, 55%) 88%,
    hsl(235, 80%, 40%) 100%
  );
}

.btn .front {
  display: block;
  position: relative;
  padding: 16px 40px;
  border-radius: 16px;
  font-size: 1.25rem;
  font-weight: 700;
  color: white;
  background: hsl(235, 85%, 65%);
  will-change: transform;
  transform: translateY(-8px);
  transition:
    transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1),
    background 250ms;
  box-shadow:
    inset 0 2px 3px rgba(255, 255, 255, 0.4),
    inset 0 -2px 3px rgba(0, 0, 0, 0.15);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  letter-spacing: 0.5px;
}

.btn:hover .front {
  transform: translateY(-10px);
  transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);
  background: hsl(235, 85%, 68%);
}

.btn:hover .shadow {
  transform: translateY(10px);
  filter: blur(7px);
  transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);
}

.btn:active .front {
  transform: translateY(-2px);
  transition: transform 34ms;
}

.btn:active .shadow {
  transform: translateY(2px);
  filter: blur(2px);
  transition: transform 34ms;
}
نوع: button
تاریخ ایجاد: 2026/06/05
آخرین بروزرسانی: 2026/06/05