Sélecteurs de voisins généraux

Le combinateur ~ permet de séparer deux sélecteurs et de cibler un élément si celui-ci correspond au second sélecteur et est précédé (mais pas forcément voisin immédiat) d'un autre élément correspondant au premier sélecteur qui partage le même parent. Les deux éléments sont des fils d'un même parent Element, voisins immédiats ou pas.

css

/* Parmi tous les éléments <img>, cibler tous
   éléments <p> qui les suivent. */
img ~ p {
  color: red;
}

Syntaxe

premier_element ~ second_element { propriétés de style }

Exemples

CSS

css

p ~ span {
  color: red;
}

HTML

html

<span>Ici, ce n'est pas rouge.</span>
<p>Voici un paragraphe.</p>
<code>Un peu de code.</code>
<span>Et un autre span.</span>
<code>Encore du code</code>
<span>Ici aussi, c'est rouge</span>

Résultat

Spécifications

Specification
Selectors Level 4
# general-sibling-combinators

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi