главная/Создаем кастомные радио кнопки (radio button) на CSS и HTML
Стилизованный radio button на html и css

Создаем кастомные радио кнопки (radio button) на CSS и HTML

В недавней статье я показывал как можно сделать кастомный чекбокс на чистом CSS и HTML, а теперь пришло время для радио кнопок они же — radio buttons.

Принцип работы очень простой, также создаем label он будет выступать в роли кнопки, скрываем input и и добавляем рядом span элемент. Когда радио кнопка будет нажата, при помощи родственного CSS селектора (тильда) показываем псевдо элемент after у span.

Демо:

Код стилизованных radio buttons:

<div class="checkbox-wrapper">
  <label>
    Первый
    <input type="radio" class="modern-radio" value="1" name="a">
    <span></span>
  </label>
  <label>
    Второй
    <input type="radio" class="modern-radio" value="2" name="a">
    <span></span>
  </label>
</div>

Не забудь добавить атрибуты name для инпутов.

CSS Стили:

.checkbox-wrapper input {
  position: absolute;
  opacity: 0;
  сursor: pointer;
}

.checkbox-wrapper label {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 17px;
  user-select: none;
}

.checkbox-wrapper span {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #c9c9c9;
  border-radius: 50%;
}


.checkbox-wrapper label input:checked ~ span {
  background-color: #fec901;
}


.checkbox-wrapper span:after {
  content: "";
  position: absolute;
  display: none;
}


.checkbox-wrapper label input:checked ~ span:after {
  display: block;
}


.checkbox-wrapper label span:after {
  top: 9px;
  left: 9px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: white;
}