EniunEniunEniunEniun
  • Inicio
  • Blog
  • Cursos
  • Contactar
  • DTD
✕
            Sin resultados Ver todos los resultados

            Pseudo-clases y pseudo-elementos en CSS

            • Inicio
            • CSS y Sass CSS Nivel inicial
            • Pseudo-clases y pseudo-elementos en CSS
            12/10/2019
            Pseudo-clases pseudo-elementos

            Pseudo-clases pseudo-elementos

            13. Pseudo-clases y pseudo-elementos en CSS

            Gracias a las pseudo-clases y los pseudo-elementos de CSS podemos realizar una selección más específica de los elementos a los que queremos aplicar un cierto estilo sin necesidad de crear una clase concreta.

            Contenidos del artículo

            Toggle
            • 13. Pseudo-clases y pseudo-elementos en CSS
            • 13.1. Pseudo-clases para selección de hijos o hermanos
            • 13.2. Pseudo-clases para los estados de un elemento
            • 13.3. Pseudo-elementos

            13.1. Pseudo-clases para selección de hijos o hermanos

            Las pseudo-clases más importantes para la selección de hijos o hermanos son las que se muestran en la siguiente tabla.

            Pseudo-claseDescripción
            :first-childPrimer hijo
            :last-childÚltimo hijo
            :first-of-typePrimer hermano de su tipo
            :last-of-typeÚltimo hermano de su tipo
            :only-childHijos únicos
            :only-of-typeÚnicos hermanos de su tipo
            :emptyElementos que no tienen hijos
            :nth-child(n)Enésimo elemento hijo
            :nth-last-child(n)Enésimo elemento hijo contando desde el último
            :nth-of-type(n)Enésimo hermano de su tipo
            :nth-last-of-type(n)Enésimo hermano de su tipo comenzando desde el último
            Tabla 1. Pseudo-clases para la selección de hijos o hermanos

            Ejemplo pseudoclases first-child, last-child y only-child:

            Vamos a utilizar las propiedades first-child, last-child y only-child para seleccionar los párrafos que sean el primer y el último hijo de un contenedor o que sea hijo único.

            p:first-child {color: red;} /*Todos los párrafos que son primer hijo*/
            p:last-child {color: blue;} /*Todos los párrafos que son el último hijo*/
            p:only-child {color: green;} /*Todos los párrafos que son hijos únicos*/

            Ejemplo pseudo-clase nth-child:

            Veamos cómo funciona la pseudo-clase nth-child mediante un ejemplo en el que aprovechamos la jerarquía de los elementos para referenciar una etiqueta. En el siguiente código tenemos cuatro elementos <p> que son hermanos entre sí e hijos del elemento <div>.

            <div>
                <p>Primer párrafo</p>
                <p>Segundo párrafo</p>
                <p>Tercer párrafo</p>
                <p>Cuarto párrafo</p>
            </div>

            Utilizando la pseudo-clase nth-child() podemos seleccionar un hijo específico. El número que indiquemos entre paréntesis será la posición del hijo.

            En el siguiente código, seleccionaremos todos los párrafos que sean el primer, segundo y cuarto hijo de un contenedor (div, span, etc.).

            p:nth-child(1){ color: red; } 
            p:nth-child(2){ color: green; } 
            p:nth-child(4){ color: blue; } 

            Ejemplo odd (impar) y even (par):

            Los valores odd y even son muy útiles para seleccionar elementos pares e impares. El valor even representa elementos en posición par y el valor oddrepresenta los elementos en posición impar. En el siguiente ejemplo en el que se ha creado una tabla se muestran en verde las filas impares y en rojo las filas pares.

            tr:nth-child(odd){ color: green;} /* Filas impares */
            tr:nth-child(even){ color: red;} /* Filas pares */

            Ejercicio propuesto

            Utiliza las siguientes pseudo-clases y comprueba los resultados:

            • tr:nth-child(odd) o tr:nth-child(2n+1)Selecciona las filas impares de una tabla.
            • tr:nth-child(even) o tr:nth-child(2n)Selecciona las filas pares de una tabla.
            • :nth-child(7)Selecciona el séptimo elemento.
            • :nth-child(6n)Selecciona los elementos 6, 12, 18, etc.
            • :nth-child(3n+4)Selecciona los elementos 4, 7, 10, 13, etc.

            13.2. Pseudo-clases para los estados de un elemento

            Podemos utilizar diferentes pseudo-clases para definir las propiedades de ciertos elementos con diferentes estados. Uno de los usos más comunes es en los enlaces <a> aunque se pueden aplicar en otros elementos.

            Pseudo-claseDescripción
            :linkNo visitado por el usuario
            :visitedVisitado por el usuario
            :hoverModifica el estilo cuando un elemento apuntador pasa por encima
            :activeSe activa cuando el usuario pulsa el elemento
            :focusSe activa cuando tiene el foco sobre el elemento
            Tabla 2. Pseudo-clases para los estados de un elemento

            Aplica las siguientes propiedades sobre un enlace y observa las diferencias entre los distintos valores.

            a:hover {  text-decoration: overline;}
            a:active { background-color: yellow;}
            a:link { color: green;}
            a:visited { 
            color: brown;
            }

            13.3. Pseudo-elementos

            A diferencia de las pseudo-clases, los pseudo-elementos no describen un estado sino que permiten añadir estilos a una parte específica del documento. Por ejemplo, el pseudo-elemento :first-line selecciona la primera línea del elemento indicado por el selector.

            Pseudo-elementoDescripción
            ::first-linePrimera línea de texto de un elemento
            ::first-letterPrimera letra de la primera línea de texto de un elemento
            ::beforeAñade contenido al principio del documento
            ::afterAñade contenido al final del documento
            ::selectionCoge la porción del texto que se está seleccionando por el usuario
            Tabla 3. Pseudo-elementos

            Aplica las siguientes propiedades sobre diferentes elementos y observa las diferencias entre los distintos resultados.

            p::first-line { color: green; }
            h2::first-letter { color: blue; }
            p::after { content: " - Aloja more don";  color: red; }
            p::before { content: "*. "; }
            p::selection { color: brown; }
            
            

            Comprueba tu apendizaje

            Navegación de entradas

            ← Posición y comportamiento de contenedores en CSS
            Cómo crear un menú horizontal en HTML y CSS →

            Curso CSS Inicial

            • 1. ¿Qué es CSS?
            • 2 ¿Cómo aplicar estilos CSS?
            • 3. Selectores
            • 4. Unidades de medida
              • Unidades vh y vw
            • 5. Colores y fondo
              • Efecto parallax
            • 6. Propiedades de texto
            • 7. Propiedades de las fuentes
            • 8. Propiedades de las listas
            • 9. Modelo de cajas: márgenes, relleno y bordes
            • 10. Tamaño: width, height, max-width…
            • 11. Propiedades de las tablas
            • 12. Posición y comportamiento de contenedores
            • 13. Pseudo-clases y pseudo-elementos
            • 14. Cómo crear un menú horizontal
            • 15. Propiedad overflow, excedente de contenido
            • 16. Espacio entre elementos inline-block
            • 17. Problemas con flotantes y sus soluciones
            • 18. Estilos en formularios CSS
            • 19. Herramientas útiles y tests de verificación
            • 20. Inspeccionar elementos en el navegador para encontrar errores
            • 21. Buenas prácticas CSS
              • 21.1. Nombres de clases: mejores prácticas y ejemplos
              • 21.2. Rutas de archivos en HTML/CSS
            • 23. Test de conocimiento
            • 24. Ejercicios resueltos CSS
            • 25. Resumen propiedades CSS
            Ver más cursos

            ¡Invítanos a un café!

            ¿Cómo donar?
            Ayúdanos a seguir creando contenido relacionado con la informática y el diseño y desarrollo web en Eniun. ¡Gracias por tu apoyo!
            Eniun

            info@eniun.com
            Reportar un error

            Servicios

            Desarrollo Web
            Diseño Web
            Marketing Digital
            Social Media
            Experiencia de Usuario
            Cursos formativos

            Suscríbete a la newsletter

            Únete a nuestra comunidad para recibir contenido exclusivo y relevante para diseñadores y desarrolladores web.

            Apuntarme

            © 2026 Eniun | Política de privacidad y cookies

                      Sin resultados Ver todos los resultados