:nth-last-of-type(): Una pseudoclase CSS que debes conocer

En CSS, la pseudoclase :nth-last-of-type() es una herramienta importante para diseñadores que buscan controlar la presentación de elementos de manera dinámica y estructurada. Esta pseudoclase permite seleccionar elementos según su posición relativa al final de un tipo específico dentro de su contenedor padre. ¿Suena complicado? ¡No te preocupes! Aquí te explicamos cómo sacarle provecho.

Supongamos que tienes una lista de elementos y deseas aplicar un estilo específico al tercer último elemento. Con :nth-last-of-type(), puedes hacerlo de manera sencilla sin tener que modificar el HTML. Por ejemplo, si quisieras que el tercer último párrafo de cada sección tuviera un color de fondo diferente, podrías usar el siguiente código CSS:

CSS
:nth-last-of-type(3) { background-color: #f4f4f8; }

Este simple selector puede abrir un abanico de posibilidades creativas sin complicar la estructura del código.

Sintaxis de :nth-last-of-type()

La sintaxis de :nth-last-of-type() es sencilla:

CSS
selector:nth-last-of-type(n)

Selector, representa al elemento que quieres seleccionar. Puede ser una etiqueta (por ejemplo div, p o li), una clase(.mi-clase), o un identificador (#mi-id).

:nth-last-of-type, es la pseudoclase que se aplicará al selector elegido.

(n), es una expresión que define la posición o posiciones de los elementos que deseas seleccionar desde el final. El valor n puede tomar diferentes formas para seleccionar elementos específicos:

Numero entero: 

:nth-last-of-type(1): Selecciona el último elemento de su tipo

:nth-last-of-type(2): Selecciona el segundo elemento de su tipo desde el final.

:nth-last-of-type(3): Selecciona el tercer elemento de su tipo desde el final.

Fórmula matemática:

También podemos utilizar la fórmula matemática (xn+y) para indicar las celdas que deseamos personalizar. En esta fórmula, «xn» representa el lugar que ocupa el primer elemento (siempre comenzando a contar por el final) que de seamos modificar mientras que «y» representa la distancia a la que se encuentra el siguiente de elemento de su tipo a modificar.

Si utilizamos únicamente el valor «xn»  – div:nth-last-of-type(2n), por ejemplo -, se aplicarán las propiedades del selector al primer elemento, comenzando a contar por el final, que se corresponda con el numero seleccionado, en este caso(2)  y a los que se encuentren a esa distancia del mismo.

Palabras clave:

Asimismo,  pueden usarse las palabras clave odd y even en lugar de números enteros o fórmulas matemáticas. En este caso odd seleccionaría los elementos en posiciones impares desde el final, mientras que even seleccionaría las posiciones pares.

Un ejemplo básico

Veamos un ejemplo para aclarar cómo funciona:

See the Pen
Untitled
by vlasej (@vlasej)
on CodePen.

Como vemos, en este ejemplo el  selector :nth-last-of-type()  aplica el color rojo a la última línea comenzando por el final y a las que se encuentran a 2n de distancia (2n+1).

Consideraciones Prácticas

Es fundamental entender que :nth-last-of-type() solo considera elementos del mismo tipo dentro de un contenedor común. Esto significa que si tienes diferentes tipos de elementos mezclados, como <p> y <div>, :nth-last-of-type() solo aplicará estilos a los elementos que coincidan con el tipo especificado en el selector.

Casos de uso prácticos de :nth-last-of-type()

La flexibilidad de la pseudoclase :nth-last-of-type() nos permite aplicar estilos específicos a elementos en contextos donde el orden y la cantidad de elementos pueden variar. Vamos a ver algunos casos prácticos donde esta pseudoclase es especialmente útil.

1. Estilización de artículos o entradas de blog

En un blog, donde el número de comentarios o entradas puede variar, :nth-last-of-type() puede ser usado para aplicar estilos distintivos a las últimas entradas sin necesidad de alterar el HTML. Por ejemplo, si quieres destacar los tres últimos artículos publicados, podrías usar:

CSS
article:nth-last-of-type(-n+3) {
border-left: 5px solid blue;
}

Este código aplicará un borde azul a los tres últimos artículos, haciendo que resalten visualmente en la página.

2. Promociones o anuncios en una tienda en línea

En el contexto de una tienda en línea, podrías querer destacar los últimos productos añadidos al final de una lista de productos. Con :nth-last-of-type(), puedes asegurarte de que estos productos capturen la atención del usuario aplicando un estilo diferenciado:

CSS
.product:nth-last-of-type(1), .product:nth-last-of-type(2) {
box-shadow: 0px 0px 10px #ffd700;
}

Este estilo aplicará una sombra dorada a los dos últimos productos listados, ayudando a indicar que son novedades o agregados recientes.

3. Formularios dinámicos

En formularios que pueden expandirse dinámicamente, como aquellos donde los usuarios pueden agregar o eliminar campos, :nth-last-of-type() puede ser útil para aplicar estilos a los últimos elementos añadidos, como resaltar el último campo de entrada añadido para guiar al usuario:

CSS
input:nth-last-of-type(1) {
background-color: #c8e6c9;
}

Este selector asegura que el último campo de entrada siempre esté destacado, facilitando la interacción del usuario con el formulario.

Estos ejemplos ilustran la utilidad de :nth-last-of-type() en diversas situaciones web, mostrando su versatilidad y capacidad para mejorar la experiencia del usuario y la presentación del contenido.

:nth-last-of-type() y diseño responsivo

La pseudoclase :nth-last-of-type() no solo es útil para aplicar estilos específicos en elementos estáticos o dinámicos, sino que también juega un papel importante en el diseño responsivo. Vamos a ver cómo esta herramienta puede ayudarnos a mejorar la adaptabilidad de los elementos en diferentes dispositivos y contextos.

Facilita la adaptabilidad del contenido

En un diseño responsivo, es esencial que el contenido se adapte de manera fluida a diferentes tamaños de pantalla. :nth-last-of-type() nos permite ajustar los estilos para que adapten el contenido a diferentes resoluciones. Por ejemplo, en pantallas pequeñas, tal vez quieras destacar menos productos o secciones para evitar un diseño sobrecargado. Para ello, podrías usar :nth-last-of-type() de modo que ocultara ciertos elementos solo en vistas más estrechas:

CSS
@media (max-width: 600px) {
.product:nth-last-of-type(n+3) {
display: none;
}
}

Este código CSS ocultará todos los productos excepto los dos últimos en dispositivos con pantallas de hasta 600px de ancho, simplificando la presentación y mejorando la experiencia de usuario en dispositivos móviles.

Mejora la experiencia de usuario

Al utilizar :nth-last-of-type(), puedes mejorar significativamente la experiencia de usuario al asegurarte de que los elementos más relevantes siempre estén presentados de forma destacada, independientemente del dispositivo utilizado. Por ejemplo, en un sitio de noticias, podrías querer que los últimos artículos siempre sean los primeros en visualizarse, lo cual puedes lograr ajustando su tamaño o estilo visual en diferentes resoluciones:

CSS
@media (min-width: 800px) {
article:nth-last-of-type(-n+2) {
font-size: 1.2em;
font-weight: bold;
}
}

Este enfoque no solo hace que los últimos artículos sean más visibles, sino que también se adapta a la lectura en dispositivos con pantallas más grandes.

Optimiza el rendimiento

Al centrarse en elementos específicos, como los últimos elementos de una lista, :nth-last-of-type() puede ayudar a optimizar el rendimiento al reducir la necesidad de aplicar estilos innecesarios a elementos que no requieren diferenciación en ciertos contextos o dispositivos, dando como resultado un menor consumo de recursos y, por lo tanto, en una carga más rápida de la página.

Estas ventajas demuestran que :nth-last-of-type() es una herramienta de alto valor para el diseño responsivo, permitiendo a los diseñadores crear interfaces más adaptativas, intuitivas y eficientes.

Conclusión: Maximizando la flexibilidad del diseño web con :nth-last-of-type()

Herramientas como la pseudoclase :nth-last-of-type() destacan por su capacidad de ofrecer soluciones dinámicas y flexibles para el diseño de interfaces de usuario. Esta pseudoclase no solo enriquece la presentación visual de los sitios web, sino que también facilita la adaptabilidad y responsividad necesarias en el ecosistema digital actual.

:nth-last-of-type() permite a los diseñadores web aplicar estilos de manera precisa a elementos que se encuentran en posiciones específicas dentro de sus contenedores, contando desde el final hacia el inicio. Esto es particularmente útil en proyectos web donde el contenido puede variar dinámicamente, asegurando que el diseño se mantenga coherente y visualmente atractivo sin importar los cambios en el contenido.

La adaptabilidad es clave en el diseño web responsivo, y :nth-last-of-type() juega un papel crucial al permitir ajustes de estilo que responden no solo al tipo de contenido, sino también a su disposición y a las dimensiones de la pantalla. Al integrar esta pseudoclase en estrategias de diseño responsivo, los desarrolladores pueden crear experiencias más ricas y accesibles para todos los usuarios, independientemente del dispositivo que utilicen.

Sé la primera persona en dejar un comentario.

¿Tienes alguna pregunta o respuesta?