Comment créer : Coche personnalisé

Apprenez à créer des cases à cocher et des boutons radio personnalisés avec CSS.

Par défaut :

Un
Deux

Un
Deux

Coche personnalisé :

Bouton radio personnalisé :

Essayer par vous-même

Comment créer un coche personnalisé

Première étape - Ajouter HTML :

<label class="container">Un
  <input type="checkbox" checked="checked">
  <span class="checkmark"></span>
</label>
<label class="container">Deux
  <input type="checkbox">
  <span class="checkmark"></span>
</label>
<label class="container">Trois
  <input type="checkbox">
  <span class="checkmark"></span>
</label>
<label class="container">Quatre
  <input type="checkbox">
  <span class="checkmark"></span>
</label>

Deuxième étape - Ajouter CSS :

/* Étiquette personnalisée (conteneur) */
.container {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* Cacher le coche par défaut du navigateur */
.container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
/* Créer un coche personnalisé */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eee;
}
/* Ajouter une couleur de fond grise au survol de la souris */
.container:hover input ~ .checkmark {
  background-color: #ccc;
}
/* Ajouter un fond bleu lorsque le coche est sélectionné */
.container input:checked ~ .checkmark {
  background-color: #2196F3;
}
/* Créer un marqueur/indicateur de coche (caché lorsque non sélectionné) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
/* Afficher le marqueur de coche lorsqu'il est sélectionné */
.container input:checked ~ .checkmark:after {
  display: block;
}
/* Définir le style du marqueur/indicateur de coche */
.container .checkmark:after {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

Essayer par vous-même

Comment créer un bouton radio personnalisé

Exemple

/* Étiquette personnalisée (conteneur) */
.container {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* Cacher le bouton radio par défaut du navigateur */
.container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
/* Créer un bouton radio personnalisé */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eee;
  border-radius: 50%;
}
/* Ajouter une couleur de fond grise au survol de la souris */
.container:hover input ~ .checkmark {
  background-color: #ccc;
}
/* Ajouter un fond bleu lorsque le bouton radio est sélectionné */
.container input:checked ~ .checkmark {
  background-color: #2196F3;
}
/* Créer l'indicateur (point/cercle - caché lors de l'état non sélectionné) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
/* Afficher l'indicateur (point/cercle) lors de la sélection */
.container input:checked ~ .checkmark:after {
  display: block;
}
/* Définir le style de l'indicateur (point/cercle) */
.container .checkmark:after {
  top: 9px;
  left: 9px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: white;
}

Essayer par vous-même