:in-range

La pseudo-classe :in-range cible un élément lorsque la valeur d'un attribut est compris dans un intervalle donné. Cela permet de fournir une indication visuelle quand la valeur utilisée dans le document est comprise ou non dans un intervalle donné.

Note : Cette pseudo-classe ne s'applique qu'aux éléments qui ont des limites de valeurs (autrement dit la valeur doit être comprise dans un intervalle donné). Sans ces limitations, l'élément ne pourra pas être vu comme dans l'intervalle ou en dehors de l'intervalle.

Syntaxe

:in-range { style properties }

Exemples

CSS

li {
  list-style: none;
  margin-bottom: 1em;
}
input {
  border: 1px solid black;
}
input:in-range {
  background-color: rgba(0, 255, 0, 0.25);
}
input:out-of-range {
  background-color: rgba(255, 0, 0, 0.25);
  border: 2px solid red;
}
input:in-range + label::after {
  content:' OK';
}
input:out-of-range + label::after {
  content:' non autorisée !';
}

HTML

<form action="" id="form1">
  <ul>Les valeurs entre 1 et 10 sont valides.
    <li>
      <input id="valeur1" name="valeur1" type="number" placeholder="de 1 à 10" min="1" max="10" value="12">
      <label for="valeur1">Votre valeur est </label>
    </li>
  </ul>
</form>

Résultat

Spécifications

Spécification Etat Commentaires
WHATWG HTML Living Standard
La définition de ':in-range' dans cette spécification.
Standard évolutif Définition de la correspondance entre :in-range et les éléments HTML.
Selectors Level 4
La définition de ':in-range' dans cette spécification.
Version de travail Définition initiale.

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Avec <input> 10.0[1] 29.0 (29.0)[2] Pas de support 11.0[1] 5.2[3]
Fonctionnalité Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Avec <input> 2.3[1] 16.0 (16.0)[2] Pas de support (Oui)[1] (Oui)[3]

[1] Pour Blink :in-range correspondait également aux entrées désactivées ou en lecture seule (cf. Chromium bug 602568). Cela a été modifié avec Chrome 52 et Opera 39 pour que la pseudo-classe ne s'applique qu'aux champs en modification.

[2] Pour Gecko :in-range correspondait également aux entrées désactivées ou en lecture seule (cf. bug 1264157). Cela a été modifié avec Gecko 50 ((Firefox 50 / Thunderbird 50 / SeaMonkey 2.47)) pour ne cibler que les champs en modification.

[3] Pour WebKit :in-range correspondait également aux entrées désactivées ou en lecture seule (cf. WebKit bug 156530) Cela a été modifié dans les dernières versions de WebKit pour ne cibler que les champs en modification.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,