پیش‌نمایش زنده
کد HTML
<div class="radio-input">
  <label>
    <input type="radio" name="memories" value="Bring" />
    <span>Bring</span>
  </label>
  <label>
    <input type="radio" name="memories" value="Me" />
    <span>Me</span>
  </label>
  <label>
    <input type="radio" name="memories" value="Back" />
    <span>Back</span>
  </label>
  <label>
    <input type="radio" name="memories" value="The" />
    <span>The</span>
  </label>
  <label>
    <input type="radio" name="memories" value="Memories" />
    <span>Memories</span>
  </label>
</div>
کد CSS
.radio-input {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.radio-input label {
  display: inline-flex;
  align-items: center;
  font:
    9pt "Segoe UI",
    SegoeUI,
    "Noto Sans",
    sans-serif;
  position: relative;
  margin-left: 20px;
  cursor: pointer;
}

.radio-input input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: none;
  border: none;
  margin: 0;
  opacity: 0;
}

.radio-input label span {
  position: relative;
}

.radio-input label::before {
  content: "";
  position: absolute;
  top: 0;
  left: -20px;
  display: inline-block;
  width: 14px;
  height: 14px;
  background: #f6f6f6;
  border: 1px solid #8e8f8f;
  border-radius: 50%;
  box-sizing: border-box;
  box-shadow:
    inset 0 0 0 1.5px #f4f4f4,
    inset 1px 1px 0 1.5px #aeaeae,
    inset -1px 0 0 1.5px #ddd,
    inset 3px 3px 6px #ccc;
  transition: 0.4s;
}

.radio-input label:hover::before {
  border-color: #3c7fb1;
  box-shadow:
    inset 0 0 0 1.5px #def9fa,
    inset 1px 1px 0 1.5px #79c6f9,
    inset -1px -1px 0 1.5px #c6e9fc,
    inset 3px 3px 6px #b1dffd;
}

.radio-input input:checked + span::after {
  content: "";
  position: absolute;
  top: 3px;
  left: -17px;
  display: block;
  width: 8px;
  height: 8px;
  background: #7cd3eb;
  border: 1.5px solid #27506d;
  border-radius: 50%;
  box-sizing: border-box;
  box-shadow:
    inset -1px -1px 0 0.5px #16638f,
    inset -1px -1px 0 1px #1985c0;
}

.radio-input input:focus-visible + span {
  outline: 1px dotted #000;
}

.radio-input input:disabled + span {
  filter: grayscale(1);
  opacity: 0.6;
}

.radio-input input:disabled:not(:checked) + span::before {
  opacity: 0.5;
}
نوع: radio
تاریخ ایجاد: 2026/06/06
آخرین بروزرسانی: 2026/06/06