GitHub 6956★

Have you seen CSS Scan?

The fastest and easiest way to check, copy and edit CSS.

Learn more →

CSS Scan logo

Custom checkbox button

HTML

<label class="custom-checkbox-button">
<!-- The real checkbox -->
<input type="checkbox" class="custom-checkbox-button__input" />

<!-- The fake square -->
<div class="custom-checkbox-button__square">
<!-- The inner square -->
<div class="custom-checkbox-button__checkbox custom-checkbox-button__checkbox--selected"></div>
</div>

<!-- The text -->
...
</label>

CSS

.custom-checkbox-button {
/* Center the content horizontally */
align-items: center;
display: inline-flex;

/* Cursor */
cursor: pointer;
}

.custom-checkbox-button__input {
/* Hide it */
display: none;
}

.custom-checkbox-button__square {
border: 1px solid #d1d5db;
border-radius: 0.25rem;

/* Spacing */
margin-right: 0.5rem;
padding: 0.25rem;
}

.custom-checkbox-button__checkbox {
background-color: transparent;
border-radius: 0.25rem;
height: 1rem;
width: 1rem;
}

.custom-checkbox-button__checkbox--selected {
/* For selected checkbox */
background-color: #3b82f6;
}
Demo

See also

Follow me on and to get more useful contents.