.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