Bar Radio Group

by JibstaMan

HTML

<div class="radio-container">
  <span class="radio">
    <input type="radio" value="general" name='allocation' id='general' checked />
    <label for="general"></label>
  </span>
  <span>Algemeen</span>
</div>
<div class="radio-container">
  <div class="radio">
    <input type="radio" value="base" name='allocation' id='base' />
    <label for="base"></label>
  </div>
  <p>Base</p>
</div>
<div class="radio-container">
  <div class="radio">
    <input type="radio" value="management" name='allocation' id='management' />
    <label for="management"></label>
  </div>
  <p>Management</p>
</div>
<div class="radio-container">
  <div class="radio">
    <input type="radio" value="action" name='allocation' id='action' />
    <label for="action"></label>
  </div>
  <p>Action</p>
</div>

CSS

.radio-container {
  margin-bottom: 10px;
}
.radio-container span {
  margin: 0;
  vertical-align: baseline;
}
.radio {
  width: 20px;
  margin-right: 8px;
  position: relative;
}
.radio label {
  width: 20px;
  height: 20px;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  background: white;
  border-radius: 50px;
  border: 1px solid black;
}
.radio label:after {
  content: '';
  position: absolute;
  top: 4px;
  left: 4px;
  border: 6px solid #333;
  border-radius: 50px;
  opacity: 0;
}
.radio label:hover::after {
  opacity: 0.3;
}
.radio input[type=radio] {
  visibility: hidden;
}
.radio input[type=radio]:checked + label:after {
  opacity: 1;
}