CSS :nth-last-of-type() Pseudoclase
La pseudoclase CSS :nth-last-of-type() selecciona elementos desde el último hacia atrás. Lee sobre la pseudoclase y prueba ejemplos.
La pseudoclase CSS :nth-last-of-type() coincide con elementos de un tipo determinado, contando desde el último elemento de ese tipo entre sus hermanos. Es la imagen especular de :nth-of-type(), que cuenta desde el primero.
Esto resulta útil cuando el número de elementos es desconocido o cambia dinámicamente y necesitas aplicar estilos a elementos relativos al final de una lista — por ejemplo, resaltar las últimas filas de una tabla o los últimos elementos de un menú de navegación, independientemente de cuántos haya antes.
Sintaxis
La pseudoclase acepta un único argumento dentro del paréntesis: un número, una palabra clave o una fórmula.
:nth-last-of-type( <nth> ) {
/* style declarations */
}| Valor | Descripción |
|---|---|
number | Coincide exactamente con el enésimo elemento de su tipo, contando desde el final (1 = el último). |
odd / even | Coincide con elementos en posiciones impares o pares contadas desde el final. |
an + b | Coincide con cada a-ésimo elemento a partir del desplazamiento b, contando desde el final. a y b son enteros y n toma los valores 0, 1, 2, …. |
Cómo funciona la fórmula an + b
El navegador sustituye n = 0, 1, 2, … en la fórmula y conserva cada posición que produce. El conteo siempre comienza en el último elemento del tipo correspondiente:
2n(igual queeven) → posiciones 2, 4, 6, … desde el final.2n + 1(igual queodd) → posiciones 1, 3, 5, … desde el final.3n + 1→ posiciones 1, 4, 7, … desde el final.-n + 3→ los últimos tres elementos (posiciones 3, 2, 1 desde el final).
Diferencias con selectores relacionados
:nth-of-type()cuenta los mismos elementos coincidentes pero comienza desde el principio en lugar del final.:nth-last-child()también cuenta desde el final, pero considera todos los elementos hermanos, no solo los del mismo tipo.:nth-last-of-type()ignora los hermanos de otros tipos al contar. Ambos tienen la misma especificidad.
Consulta también :last-of-type, que equivale a :nth-last-of-type(1).
Ejemplos
Seleccionar una posición exacta desde el final
Aquí :nth-last-of-type(3) selecciona el tercer párrafo contado desde el final — es decir, "Paragraph 4" en una lista de seis.
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
p:nth-last-of-type(3) {
background: #8ebf42;
}
</style>
</head>
<body>
<h2>:nth-last-of-type() selector example</h2>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
<p>Paragraph 3</p>
<p>Paragraph 4</p>
<p>Paragraph 5</p>
<p>Paragraph 6</p>
</body>
</html>Uso de las palabras clave odd y even
Contando desde el final, odd coincide con el 1.º, 3.º, 5.º, … párrafos (es decir, "Paragraph 6", "Paragraph 4", "Paragraph 2"), y even coincide con el 2.º, 4.º, 6.º, … ("Paragraph 5", "Paragraph 3", "Paragraph 1"). Juntos aplican estilos a todos los párrafos en dos colores alternos.
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
p:nth-last-of-type(odd) {
background: #1c87c9;
color: #eeeeee;
}
p:nth-last-of-type(even) {
background: #666666;
color: #eeeeee;
}
</style>
</head>
<body>
<h2>:nth-last-of-type selector example</h2>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
<p>Paragraph 3</p>
<p>Paragraph 4</p>
<p>Paragraph 5</p>
<p>Paragraph 6</p>
</body>
</html>Uso de una fórmula (an + b)
Con nueve párrafos, 3n + 1 coincide con cada tercer párrafo contando desde el final — posiciones 1, 4 y 7 desde el final, es decir, los párrafos 9.º, 6.º y 3.º en el orden del documento.
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
p:nth-last-of-type(3n+1) {
background: #767fea;
padding: 10px;
color: #ffffff;
}
</style>
</head>
<body>
<p>The first paragraph.</p>
<p>The second paragraph.</p>
<p>The third paragraph.</p>
<p>The fourth paragraph.</p>
<p>The fifth paragraph.</p>
<p>The sixth paragraph.</p>
<p>The seventh paragraph.</p>
<p>The eighth paragraph.</p>
<p>The ninth paragraph.</p>
</body>
</html>Seleccionar los últimos N elementos
Un coeficiente negativo es la forma idiomática de apuntar a los últimos elementos. -n + 3 coincide con los últimos tres párrafos independientemente del total:
p:nth-last-of-type(-n + 3) {
font-weight: bold;
}Compatibilidad con navegadores y especificación
:nth-last-of-type() es compatible con todos los navegadores modernos. Está definido en: