پیش‌نمایش زنده
کد HTML
<div class="wasd-layout">
  <button class="command-button key-w">
    <span class="cmd-icon-text">W</span>
    <span class="cmd-text"></span>
  </button>

  <button class="command-button key-a">
    <span class="cmd-icon-text">A</span>
    <span class="cmd-text"></span>
  </button>

  <button class="command-button key-s">
    <span class="cmd-icon-text">S</span>
    <span class="cmd-text"></span>
  </button>

  <button class="command-button key-d">
    <span class="cmd-icon-text">D</span>
    <span class="cmd-text"></span>
  </button>
</div>
کد CSS
.command-button {
  width: 60px;
  height: 65px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  background-color: #000;
  border: 0.5px solid rgba(0, 0, 0, 0.1);
  border-radius: 15px 15px 12px 12px;
  cursor: pointer;
  position: relative;
  user-select: none;
  transform: perspective(70px) rotateX(5deg) rotateY(0deg);
  will-change: transform;
  transition: all 0.1s ease-in-out 0s;
  background-image: linear-gradient(
      to right,
      rgba(0, 0, 0, 0.8),
      rgba(0, 0, 0, 0)
    ),
    linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
  background-position:
    bottom right,
    bottom right;
  background-size:
    100% 100%,
    100% 100%;
  background-repeat: no-repeat;
  box-shadow:
    inset -4px -10px 0px rgba(255, 255, 255, 0.4),
    inset -4px -8px 0px rgba(0, 0, 0, 0.3),
    0px 2px 1px rgba(0, 0, 0, 0.3),
    0px 2px 1px rgba(255, 255, 255, 0.1);
}

/* Icon Styling */
.command-button .cmd-icon-text {
  font-size: 22px;
  line-height: 24px;
  color: #fff;
  font-weight: 600;
  filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.5));
}

/* Text Styling */
.command-button .cmd-text {
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica,
    Arial, sans-serif;
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.5px;
  text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.5);
}

.command-button::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.2),
    rgba(0, 0, 0, 0.5)
  );
  z-index: -1;
  border-radius: 15px;
  box-shadow:
    inset 4px 0px 0px rgba(255, 255, 255, 0.1),
    inset 4px -8px 0px rgba(0, 0, 0, 0.3);
  transition: all 0.1s ease-in-out 0s;
}

.command-button::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(
      to right,
      rgba(0, 0, 0, 0.8),
      rgba(0, 0, 0, 0)
    ),
    linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
  background-position:
    bottom right,
    bottom right;
  background-size:
    100% 100%,
    100% 100%;
  background-repeat: no-repeat;
  z-index: -1;
  border-radius: 15px;
  transition: all 0.1s ease-in-out 0s;
}

/* Active / Pressed State */
.command-button:active {
  transform: perspective(80px) rotateX(5deg) rotateY(1deg) translateY(3px)
    scale(0.96);
  height: 64px;
  border: 0.25px solid rgba(0, 0, 0, 0.2);
  box-shadow:
    inset -4px -8px 0px rgba(255, 255, 255, 0.2),
    inset -4px -6px 0px rgba(0, 0, 0, 0.8),
    0px 1px 0px rgba(0, 0, 0, 0.9),
    0px 1px 0px rgba(255, 255, 255, 0.2);
}

.command-button:focus {
  outline: none;
}

@keyframes overlay {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* ==== for WASD positioning*/
.wasd-layout {
  display: grid;
  grid-template-columns: repeat(3, 60px);
  grid-template-rows: repeat(2, 65px);
  gap: 12px;
}

.key-w {
  grid-column: 2;
  grid-row: 1;
}
.key-a {
  grid-column: 1;
  grid-row: 2;
}
.key-s {
  grid-column: 2;
  grid-row: 2;
}
.key-d {
  grid-column: 3;
  grid-row: 2;
}
نوع: button
تاریخ ایجاد: 2026/06/05
آخرین بروزرسانی: 2026/06/05