Pseudoclases y pseudoelementos CSS
Pseudoclases:
-
Estados del Enlace:
:link: selecciona enlaces que aún no han sido visitados.:visited: selecciona enlaces que han sido visitados.:hover: selecciona elementos sobre los que se pasa el ratón.:active: selecciona elementos mientras están siendo activados (por ejemplo, mientras se hace clic en un enlace).
-
Posición del Elemento:
:first-child: selecciona el primer hijo de un elemento.:last-child: selecciona el último hijo de un elemento.:nth-child(n): selecciona el n-ésimo hijo de un elemento.:nth-last-child(n): selecciona el n-ésimo hijo de un elemento, contando desde el último.:first-of-type: selecciona el primer elemento de su tipo.:last-of-type: selecciona el último elemento de su tipo.:nth-of-type(n): selecciona el n-ésimo elemento de su tipo.:nth-last-of-type(n): selecciona el n-ésimo elemento de su tipo, contando desde el último.
-
Estado de los Formularios:
:enabled: selecciona elementos de formulario que están habilitados.:disabled: selecciona elementos de formulario que están deshabilitados.:checked: selecciona elementos de formulario que están marcados (como radio o checkbox).:focus: selecciona el elemento de formulario que tiene el foco.:required: selecciona elementos de formulario que tienen el atributo “required”.:optional: selecciona elementos de formulario que no tienen el atributo “required”.:valid: selecciona elementos de formulario con contenido válido.:invalid: selecciona elementos de formulario con contenido no válido.:placeholder-shown: selecciona elementos de formulario que muestran su texto de marcador de posición.
-
Otros:
:not(selector): selecciona todos los elementos que no coincidan con el selector especificado.:root: selecciona el elemento raíz de un documento.:empty: selecciona elementos que no tienen hijos (incluyendo texto).:target: selecciona el elemento único que es objetivo de un fragmento URI.::beforey::after: permiten insertar contenido antes o después del contenido de un elemento. (Nota: técnicamente son pseudo-elementos, no pseudoclases).
Pseudoelementos
-
::before: Inserta contenido antes del contenido del elemento seleccionado. A menudo se usa junto con la propiedadcontent. -
::after: Inserta contenido después del contenido del elemento seleccionado. También se utiliza con la propiedadcontent. -
::first-line: Selecciona la primera línea de un elemento de bloque, lo que permite aplicar estilos específicos a esa primera línea. -
::first-letter: Selecciona la primera letra del texto de un elemento de bloque, permitiendo aplicar estilos específicos a esa letra. -
::selection: Selecciona la parte del texto que ha sido seleccionada por el usuario (por ejemplo, cuando el usuario arrastra el ratón sobre algún texto). -
::placeholder: Selecciona el texto del marcador de posición en un elemento de formulario<input>o<textarea>para aplicar estilos. -
::marker: Estiliza el marcador de un elemento de lista (<li>) cuando se utiliza en conjunción con listas estilizadas (list-style-type). -
::backdrop: Selecciona el fondo que está detrás de una caja y debajo de cualquier otro contenido, útil para elementos con la propiedadposition: fixedoposition: sticky. -
::cue: Selecciona las pistas de un elemento<track>, utilizado en subtítulos y descripciones en videos. -
::slotted(): Selecciona los nodos de contenido que están siendo distribuidos en un elemento con una sombra DOM.