La façon dont w3schools l'exprime , c'est la même chose.
div + p
Sélectionne tous les<p>
éléments placés immédiatement après les<div>
éléments
div ~ p
Sélectionne tous les<p>
éléments précédés d'un<div>
élément
Si un <p>
élément est immédiatement après un <div>
élément, cela ne signifie-t-il pas que l' <p>
élément est précédé d'un <div>
élément?
Quoi qu'il en soit, je recherche un sélecteur où je peux sélectionner un élément qui est placé immédiatement avant un élément donné.
css
css-selectors
user4055428
la source
la source
+
est l'p
élément suivant immédiat et~
représente tous lesp
éléments suivants (après chaquediv
élément)before
. impossible. uniquement avec javascript. vous devrez le chercher et tousbefore
ceux qui sont une classe à cibler dans votre CSS.Réponses:
Sélecteurs frères adjacents X + Y
ul + p { color: red; }
Afficher l'extrait de code
ul + p { color: red; }
<div id="container"> <ul> <li>List Item</li> <li>List Item</li> <li>List Item</li> <li>List Item</li> </ul> <p>This will be red</p> <p>This will be black</p> <p>This will be black</p> </div>
Sélecteurs de frères et sœurs généraux X ~ Y
ul ~ p { color: red; }
Afficher l'extrait de code
ul ~ p { color: red; }
<div id="container"> <ul> <li>List Item <ul> <li>Child</li> </ul> </li> <li>List Item</li> <li>List Item</li> <li>List Item</li> </ul> <p>This will be red.</p> <p>This will be red.</p> <p>This will be red.</p> <p>This will be red.</p> </div>
La source
code.tutsplus
Sélecteurs de frères et sœurs généraux MDN
Sélecteurs frères adjacents w3
la source
C'est correct. En d'autres termes,
div + p
est un sous - ensemble approprié dediv ~ p
- tout ce qui correspond au premier est également associé au second, par nécessité.La différence entre
+
et~
est que~
correspond à tous les frères et sœurs suivants, quelle que soit leur proximité avec le premier élément, à condition qu'ils partagent tous les deux le même parent.Ces deux points sont illustrés de manière plus succincte par un seul exemple, où chaque règle applique une propriété différente. Remarquez que celui
p
qui suit immédiatement lediv
a les deux règles appliquées:div + p { color: red; } div ~ p { background-color: yellow; }
<section> <div>Div</div> <p>Paragraph</p> <p>Paragraph</p> <p>Paragraph</p> </section> <section> No div <p>Paragraph</p> <p>Paragraph</p> <p>Paragraph</p> </section>
Malheureusement, il n'y en a pas encore .
la source
considérez cet exemple:
p + p { /* the first p immediately after a preceding p */ color: red; } p ~ p { /* all p's after a preceding p */ font-weight: bold; }
<div> <p>1</p> <div>separator</div> <p>2</p> <!-- only ~ is applied here --> <p>3</p> <!-- both + and ~ are applied here --> </div>
la source
1) Sélecteurs frères adjacents (S1 + S2)
Le sélecteur de frère adjacent est utilisé pour sélectionner un élément spécifié qui est immédiatement à côté d'un autre élément spécifié. Les deux éléments doivent être au même niveau.
div + p { color:red; }
Exemple de sélecteurs de frères et sœurs adjacents
2) Sélecteurs de frères et sœurs généraux (S1 ~ S2)
Le sélecteur général des frères et sœurs est utilisé pour sélectionner tous les éléments frères spécifiés d'un autre élément spécifié.
div ~ p { color:red; }
Exemple de sélecteurs de frères et sœurs généraux
Sélecteurs Adjacent Sibling (S1 + S2) vs General Sibling (S1 ~ S2):
Le sélecteur de frère adjacent (S1 + S2) sélectionne uniquement l'élément frère immédiat, mais le sélecteur général de frère (S1 ~ S2) sélectionne tous les éléments frères d'un autre élément spécifié. Dans les deux cas, les deux éléments (S1 et S2) doivent être au même niveau.
Les sélecteurs restants sont expliqués ici: https://www.csssolid.com/35-css-selectors-to-remember.html
la source