Día 65: CSS Pseudo-elements

Día 65: CSS Pseudo-elements

La ruta del desarrollador web frontend autónomo🤹‍♂️


¿Qué son los pseudo-elementos?

Un pseudo-elemento CSS se usa para diseñar partes específicas de un elemento.

Por ejemplo, se puede utilizar para:

  • Aplicar estilo a la primera letra, o línea, de un elemento.

  • Insertar contenido antes o después del contenido de un elemento.


Sintaxis

La sintaxis de los pseudo-elementos:

Ejemplo:

selector::pseudo-element {
  property: value;
}

El pseudo-elemento ::first-line

El pseudo-elemento ::first-line se usa para agregar un estilo especial a la primera línea de un texto.

El siguiente ejemplo da formato a la primera línea del texto en todos los elementos <p>:

Ejemplo:

Nota: El pseudo-elemento ::first-line solo se puede aplicar a elementos de nivel bloque.

Las siguientes propiedades se aplican al pseudo-elemento ::first-line:

  • propiedades de fuente

  • propiedades de color

  • propiedades de fondo

  • word-spacing

  • letter-spacing

  • text-decoration

  • vertical-align

  • text-transform

  • line-height

  • clear

Observe la notación de dos puntos dobles - ::first-line versus :first-line

Los dos puntos dobles reemplazaron la notación de dos puntos para los pseudo-elementos en CSS3. Este fue un intento del W3C para distinguir entre pseudoclases y pseudo-elementos.

La sintaxis de dos puntos se usó tanto para pseudoclases como para pseudo-elementos en CSS2 y CSS1.

Para la compatibilidad con versiones anteriores, la sintaxis de dos puntos es aceptable para los pseudo-elementos CSS2 y CSS1.


El pseudo-elemento ::first-letter

El pseudo-elemento ::first-letter se utiliza para añadir un estilo especial a la primera letra de un texto.

El siguiente ejemplo da formato a la primera letra del texto en todos los elementos <p>:

Ejemplo:

Nota: El pseudo-elemento ::first-letter solo se puede aplicar a elementos de nivel bloque.

Las siguientes propiedades se aplican al pseudo-elemento ::first-letter:

  • propiedades de fuente

  • propiedades de color

  • propiedades de fondo

  • propiedades de margen (margin)

  • propiedades de relleno (padding)

  • propiedades de borde (border)

  • text-decoration

  • vertical-align (solo si "float" es "none")

  • text-transform

  • line-height

  • float

  • clear


Pseudo-elementos y clases HTML

Los pseudo-elementos se pueden combinar con clases HTML:

Ejemplo:

El ejemplo anterior, mostrará la primera letra de los párrafos con class="intro", en rojo y en un tamaño más grande.


Pseudo-elementos múltiples

También se pueden combinar varios pseudo-elementos.

En el siguiente ejemplo, la primera letra de un párrafo será roja, en un tamaño de fuente xx-grande. El resto de la primera línea será azul y en minúsculas. El resto del párrafo tendrá el tamaño y color de fuente predeterminados:

Ejemplo:


CSS: El pseudo-elemento ::before

El pseudo-elemento ::before se puede usar para insertar algún contenido antes del contenido de un elemento.

El siguiente ejemplo inserta una imagen antes del contenido de cada elemento <h1>:

Ejemplo:


CSS: El pseudo-elemento ::after

El pseudo-elemento ::after se puede usar para insertar algún contenido después del contenido de un elemento.

El siguiente ejemplo inserta una imagen después del contenido de cada elemento <h1>:

Ejemplo:


CSS: El pseudo-elemento ::marker

El pseudo-elemento ::marker selecciona los marcadores de los elementos de la lista.

El siguiente ejemplo aplica estilo a los marcadores de los elementos de la lista:

Ejemplo:


CSS: El pseudo-elemento ::selection

El pseudo-elemento ::selection coincide con la parte de un elemento que selecciona un usuario.

Las siguientes propiedades CSS se pueden aplicar a ::selection: color, background, cursor, y outline.

El siguiente ejemplo hace que el texto seleccionado sea rojo sobre un fondo amarillo:

Ejemplo:


Todos los pseudo-elementos

SelectorEjemploDescripción del ejemplo
::afterp::afterInserta algo después del contenido de cada elemento p.
::beforep::beforeInserta algo antes del contenido de cada elemento p.
::first-letterp::first-letterSelecciona la primera letra de cada elemento p.
::first-linep::first-lineSelecciona la primera línea de cada elemento p.
::marker::markerSelecciona los marcadores de los elementos de la lista.
::selectionp::selectionSelecciona la parte de un elemento que es seleccionado por un usuario.

Todas las pseudo-clases

SelectorEjemploDescripción del ejemplo
:activea:activeSelecciona el enlace activo.
:checkedinput:checkedSelecciona cada elemento input marcado.
:disabledinput:disabledSelecciona cada elemento input deshabilitado.
:emptyp:emptySelecciona todos los elementos p que no tienen hijos.
:enabledinput:enabledSelecciona cada elemento input habilitado.
:first-childp:first-childSelecciona todos los elementos p que son el primer hijo de su padre.
:first-of-typep:first-of-typeSelecciona cada elemento p que sea el primer elemento p de su padre.
:focusinput:focusSelecciona el elemento input que tiene el foco.
:hovera:hoverSelecciona enlaces al pasar el ratón por encima.
:in-rangeinput:in-rangeSelecciona elementos input con un valor dentro de un rango especificado.
:invalidinput:invalidSelecciona todos los elementos input con un valor no válido
:lang(language)p:lang(it)Selecciona cada elemento p con un valor de atributo lang que comienza con "it”.
:last-childp:last-childSelecciona cada elemento p que es el último hijo de su padre.
:last-of-typep:last-of-typeSelecciona cada elemento p que es el último elemento p de su padre.
:linka:linkSelecciona todos los enlaces no visitados.
:not(selector):not(p)Selecciona cada elemento que no es un elemento p.
:nth-child(n)p:nth-child(2)Selecciona cada elemento p que es el segundo hijo de su padre.
:nth-last-child(n)p:nth-last-child(2)Selecciona cada elemento p que es el segundo hijo de su padre, contando desde el último hijo.
:nth-last-of-type(n)p:nth-last-of-type(2)Selecciona cada elemento p que es el segundo elemento p de su padre, contando desde el último hijo.
:nth-of-type(n)p:nth-of-type(2)Selecciona cada elemento p que es el segundo elemento p de su padre.
:only-of-typep:only-of-typeSelecciona cada elemento p que es el único elemento p de su padre.
:only-childp:only-childSelecciona cada elemento p que es el único hijo de su padre.
:optionalinput:optionalSelecciona elementos input sin atributo "requerido”.
:out-of-rangeinput:out-of-rangeSelecciona elementos input con un valor fuera de un rango especificado.
:read-onlyinput:read-onlySelecciona elementos input con un atributo de "solo lectura" especificado
:read-writeinput:read-writeSelecciona elementos input sin atributo de "solo lectura".
:requiredinput:requiredSelecciona elementos input con un atributo "requerido" especificado.
:rootrootSelecciona el elemento raíz del documento.
:target#news:targetSelecciona el elemento #news activo actual (haciendo clic en una URL que contiene ese nombre de anclaje).
:validinput:validSelecciona todos los elementos input con un valor válido.
:visiteda:visitedSelecciona todos los enlaces visitados.

Resumen

El tutorial de CSS cubre los pseudo-elementos, que se utilizan para diseñar partes específicas de un elemento. Los pseudo-elementos incluyen ::first-line, ::first-letter, ::before, ::after, ::marker y ::selection. También se pueden combinar con clases HTML y propiedades CSS. El tutorial proporciona ejemplos y una lista de todas las pseudo-clases y pseudo-elementos.


Traducido con 💚 desde W3Schools.com

Did you find this article valuable?

Support Santos Romero by becoming a sponsor. Any amount is appreciated!