Usando uma lista padrão, estou tentando selecionar os dois últimos itens da lista. Eu tenho várias permutações de, An+B
mas nada parece selecionar os dois últimos:
li:nth-child(n+2) {} /* selects from the second onwards */
li:nth-child(n-2) {} /* selects everything */
li:nth-child(-n+2) {} /* selects first two only */
li:nth-child(-n-2) {} /* selects nothing */
Estou ciente de alguns novos seletores CSS3 como, :nth-last-child()
mas prefiro algo que funcione em mais alguns navegadores, se possível (não me importo particularmente com o IE).
css
css-selectors
DisgruntledGoat
fonte
fonte
:nth-last-child()
é praticamente o mesmo de:nth-child()
acordo com quirksmode.org . Além disso,:nth-child()
e:nth-last-child()
foram introduzidos no CSS3, nenhum deles é mais antigo ou mais novo nesse sentido.nth-child
truques úteis são resumidos por css-tricksRespostas:
Isso selecionará os dois últimos itens de uma lista:
fonte
:nth-last-child()
que já foi mencionado.nth-last-child
Parece que ele foi projetado especificamente para resolver esse problema, então eu duvido que exista uma alternativa mais compatível. O suporte parece bastante decente , no entanto.fonte
:nth-last-child(-n+2)
deve fazer o truquefonte
Devido à definição da semântica de
nth-child
, não vejo como isso é possível sem incluir o comprimento da lista de elementos envolvidos. O objetivo da semântica é permitir a segregação de vários elementos filhos em grupos repetidos ( editar - graças ao BoltClock) ou em uma primeira parte de algum comprimento fixo, seguida por "o resto". Você meio que quer o oposto disso, que é o quenth-last-child
lhe dá.fonte
:nth-child()
você pode selecionar os primeirosm
elementos especificando:nth-child(-n+m)
.Se você estiver usando o jQuery em seu projeto, ou estiver disposto a incluí-lo, poderá chamar
nth-last-child
por meio da API do seletor (isso é simulado, ele cruzará o navegador). Aqui está um link para umnth-last-child
plugin. Se você adotou esse método de segmentação dos elementos nos quais estava interessado:E, em seguida, estilize novamente a
last
classe em vez dos pseudo-seletoresnth-child
ounth-last-child
, você terá uma experiência entre navegadores muito mais consistente.fonte