JSFiddle - React, Tailwind, and code Playground
by tuanderful
HTML
<input type="checkbox" id="foo" />
<label for="foo">
<span class="onState">On</span>
<span class="offState">Off</span>
</label>
CSS
input {
display: none;
}
/* default span style */
label span {
display: none
}
input ~ label .offState {
display: inline;
}
/* styling for "on" state */
input:checked ~ label .onState {
display: inline;
}
input:checked ~ label .offState {
display: none;
}
/* beautify */
label {
width: 30px;
display: block;
text-align: center;
border: 1px solid black;
padding: 5px;
}