Je recherche un sélecteur css qui me permette de sélectionner le pré-dernier enfant de la liste.
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li> <!-- select the pre last item dynamically no matter how long this list is -->
<li>6</li>
</ul>
Méthode statique:
ul li:nth-child(5)
Méthode dynamique:
ul li:last-child(-1)
ce qui, bien sûr, ne valide pas, et nth-last-child ne semble pas non plus fournir un moyen dynamique .. Je peux me replier sur javascript mais je me demande s'il y a un moyen css que j'ai négligé
css
css-selectors
Hedde van der Heide
la source
la source
Réponses:
Vous pouvez utiliser
:nth-last-child()
; en fait, d'ailleurs:nth-last-of-type()
je ne sais pas quoi d'autre vous pourriez utiliser. Je ne suis pas sûr de ce que vous entendez par «dynamique», mais si vous voulez dire si le style s'applique au nouvel avant-dernier enfant lorsque d'autres enfants sont ajoutés à la liste, oui, ce sera le cas. Violon interactif.la source
:nth-child(5)
et:last-child
. Des commentaires comme celui-ci devraient soit aller sur la question, soit être réservés à eux-mêmes.Sauf si vous pouvez demander à PHP d'étiqueter cet élément avec une classe, il vaut mieux utiliser jQuery.
la source
:nth-last-child()
simplement parce que John pense que personne ne l'utilise .