AGGIORNAMENTO: Il collegamento di violino che ho pubblicato ha ora il codice di lavoro. :not(:last-child)
e :nth-last-child(n + 2)
funzionano entrambi perfettamente.CSS nth-child seleziona tutto tranne l'ultimo elemento quando la lunghezza è sconosciuta
sto cercando di utilizzare il selettore nth-child
o nth-last-child
per selezionare ogni li
in un ul
tranne l'ultimo. Il problema è che la lunghezza dell'elenco può variare da 1 a 5 elementi. Non sono stato in grado di trovare alcuna documentazione o esempi su come ottenerlo.
Ecco il codice HTML per la ul
:
<ul class="breadcrumbs">
<li>
<a href="/">Home</a>
</li>
<li>
<a href="/categories/1">Articles</a>
</li>
<li>
<a href="/categories/6">Specials</a>
</li>
<li class="current">
<a href="/categories/6/articles/21">Song Lyrics</a>
</li>
</ul>
Ecco il mio codice corrente:
ul > li:nth-last-child(-1n+4) > a:hover {
color: red;
}
Questo codice seleziona ancora l'ultimo elemento della lista. Ho anche provato il codice qui sotto, ma questo non seleziona nulla. Ho provato anche diverse altre combinazioni, ma non hanno funzionato affatto o selezionato l'ultimo elemento.
ul > li:nth-child(1):nth-last-child(2) > a:hover {
color: red;
}
perché non è sufficiente impostare uno stile di base per il 'li' e quindi utilizzare 'li: last-child' per selezionare solo l'ultimo? Non dovrebbe avere bisogno di "nth-child" per ottenere ciò di cui hai bisogno. –
Sto usando Foundation quindi gli stili sono per lo più definiti in un file sass, ma questo aspetto particolare non è un'opzione standard da personalizzare, quindi ho incluso un selettore personalizzato in un file sass overrides. – ACIDSTEALTH