J'essaye d'écrire un sélecteur css qui peut sélectionner les éléments entre deux classes.
Exemple:
<div class='start'></div> <div></div> <div></div> <div class='end'></div>
Ma question est la suivante: y a-t-il un moyen d'utiliser le sélecteur css pour sélectionner deux div entre le div .start
et .end
div?
Toute aide est appréciée!
4 Réponses :
Je pense que votre meilleure option est d'utiliser le sélecteur : not ()
en CSS. CSS n'a pas de mécanisme permettant de sélectionner des éléments entre les deux.
<div class='start'>A</div> <div>B</div> <div>C</div> <div class='end'>D</div>
div:not(.start):not(.end) { background: red; }
Une alternative pourrait être .start ~ div: not (.end)
div:not(.start):not(.end) { color: blue; }
Pour référence, suivez ce lien ci-dessous
<div class='start'>start</div> <div></div> <div></div> <div class='end'>end</div>
.start ~ div:not(.end) { border: solid 1px #bdbdbd; padding: 10px; }
En complément de la réponse de @Nidhin Josephr, vous pouvez également le faire sans ajouter la classe .start
& .end
en utilisant : not ()
avec : nth-child
: nth-last-child
pseudo selector.
div:not(:nth-child(1)):not(:nth-last-child(1)){ background: red; }