پیش‌نمایش زنده
کد HTML
<button class="button">
  <span class="shadow"></span>
  <span class="edge"></span>
  <div class="front">
    <span>Click me</span>
  </div>
</button>
کد CSS
.button {
  position: relative;
  border: none;
  background: transparent;
  padding: 0;
  outline: none;
  cursor: pointer;
  font-family: sans-serif;
}

/* Shadow layer */
.button .shadow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 8px;
  transform: translateY(2px);
  transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);
}

/* Edge layer */
.button .edge {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  background: linear-gradient(
    to left,
    hsl(217, 33%, 16%) 0%,
    hsl(217, 33%, 32%) 8%,
    hsl(217, 33%, 32%) 92%,
    hsl(217, 33%, 16%) 100%
  );
}

/* Front layer */
.button .front {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  font-size: 1.25rem;
  color: white;
  background: hsl(217, 33%, 17%);
  border-radius: 8px;
  transform: translateY(-4px);
  transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);
}

/* Hover and active states */
.button:hover .shadow {
  transform: translateY(4px);
  transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);
}

.button:hover .front {
  transform: translateY(-6px);
  transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);
}

.button:active .shadow {
  transform: translateY(1px);
  transition: transform 34ms;
}

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

/* Disable text selection */
.button .front span {
  user-select: none;
}
نوع: button
تاریخ ایجاد: 2026/06/05
آخرین بروزرسانی: 2026/06/05