2012-09-14 28 views
5

Nos gustaría unir los últimos 12 elementos de un contenedor principal. ¿Cómo hacer esto con CSS? Para aclarar, 12 es un número arbitrario. Nos gustaría saber cómo hacer coincidir los últimos N elementos de un contenedor principal.¿Cómo hacer coincidir los últimos n niños con CSS?

+0

Sugerencia: no con ': nth-child()'. – BoltClock

+2

12 suena como un número muy mágico. Sería más inteligente reconsiderar exactamente * por qué * quieres 12. –

+0

12 es un número arbitrario. Perdón por la confusion. – Crashalot

Respuesta

5

Definitivamente :nth-last-child(N)

li:nth-last-child(-n+12) { 
    /*your css declarations*/ 
} 

Este selector de ejemplo coincidirá con los últimos 12 elementos de la lista en cualquier lista, ya sea ordenada o desordenada:

+0

Pero no es compatible con IE 8. Y este no es un CSS válido. – Pavlo

+0

@PavloMykhalov ¡Es cierto! IE8 no es compatible con las pseudo clases de CSS3 y esta pregunta está etiquetada con CSS3 – Dipak

+0

@Dipacks. Es suficiente. Pero, ¿qué pasa con CSS no válido? Mi sugerencia: hacer una segunda línea de un comentario: '/ * declaraciones * /'. – Pavlo

1

Desea que :nth-last-childpseudoclass (o :nth-last-of-type para comprobar el tipo). Después de que se puede utilizar para seleccionar ~ todos los hermanos siguientes:

.container > *:nth-last-child(13) ~ * { }

http://jsbin.com/uhuzer/1/edit

+0

Y no funciona si no hay más niños de los que desea. – Krycke

+0

Más específicamente, no funciona si hay menos de 13 niños. Por supuesto, si el OP puede garantizar que siempre habrá al menos 13 niños, entonces no habrá ningún problema. – BoltClock

+0

error off-by-one corregido – tuff

Cuestiones relacionadas