Back to CSS Checkboxes Smooth Slide Toggle Pure CSS
Share
.cb-toggle {
  display: inline-flex; align-items: center;
  gap: 10px; cursor: pointer; user-select: none;
}
.cb-toggle__input { display: none; }
.cb-toggle__track {
  width: 44px; height: 24px; border-radius: 12px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15);
  position: relative;
  transition: background .3s cubic-bezier(.23,1,.32,1),
              border-color .3s;
}
.cb-toggle__thumb {
  position: absolute; top: 3px; left: 3px;
  width: 16px; height: 16px; border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  transition: transform .3s cubic-bezier(.23,1,.32,1);
}
.cb-toggle__input:checked + .cb-toggle__track {
  background: linear-gradient(135deg, #7c6cff, #ff6c8a);
  border-color: transparent;
}
.cb-toggle__input:checked + .cb-toggle__track .cb-toggle__thumb {
  transform: translateX(20px);
}
<label class="cb-toggle">
  <input class="cb-toggle__input" type="checkbox" checked />
  <span class="cb-toggle__track">
    <span class="cb-toggle__thumb"></span>
  </span>
  <span class="cb-toggle__label">Smooth slide toggle</span>
</label>
Live preview Edit any tab — preview updates live Ready