Pseudo-elementos CSS
Un pseudo-elemento CSS sirve para dar estilo a una parte especifica del contenido de la etiqueta. Como por ejemplo, darle estilo a la primera letra, o a la primera linea, o insertar contenido antes o después del contenido de la etiqueta.
Sintaxis
selector::pseudo-elemento { propiedad: valor; }
Para los pseudo-elementos se utilizan dos puntos dobles a diferencia de las pseudo-clases con dos puntos únicos. Esta nueva notación fue agregada en el estándar CSS3 por parte del W3C para diferenciarlas de las pseudo-clases, dado que en CSS1 y CSS2 se utilizaban dos puntos para ambos. Por compatibilidad con versiones anteriores, la sintaxis de dos puntos es aceptable para los pseudo-elementos CSS2 y CSS1.
El pseudo-elemento ::first-line
El pseudo-elemento ::first-line sirve para agregar un estilo especial a la primera línea de texto en una etiqueta con nivel de bloque.
El siguiente ejemplo, da formato a la primera línea de un texto en todas etiquetas <p>:
p::first-line {
color: #ff0000;
font-variant: small-caps;
}
Nota: El pseudo-elemento
::first-linesolo aplica a etiquetas de nivel de bloque.
Las siguientes propiedades que aplican al pseudo-elemento ::first-line son:
- Propiedades de fuentes (
font). - Propiedades de color (
color). - Propiedades de fondo (
background). - Propiedades de espaciado de palabras (
word-spacing). - Propiedades de decoración de texto (
text-decoration). - Propiedades de alineamiento vertical (
vertical-align). - Propiedades de trasformación de texto (
text-transform). - Propiedades de altura de línea (
line-height). - Propiedades para limpiar (
clear).
El pseudo-elemento ::first-letter
El pseudo-elemento ::first-letter sirve para agregar un estilo especial a la primera letra de un texto en una etiqueta con nivel de bloque.
El siguiente ejemplo, da formato a la primera letra el texto de todas las etiquetas <p>:
p::first-letter {
color: #ff0000;
font-size: xx-large;
}
Nota: El pseudo-elemento ::first-letter solo aplica a etiquetas con nivel de bloque.
Las siguientes propiedades que aplican al pseudo-elemento ::first-letter son:
- Propiedades de fuentes (
font). - Propiedades de color (
color). - Propiedades de fondo (
background). - Propiedades de margen (
margin). - Propiedades de relleno (
padding). - Propiedades de bordes (
border). - Propiedades de decoración de texto (
text-decoration). - Propiedades de alineamiento vertical, pero solo si float: none; (
vertical-align). - Propiedades de trasformación de texto (
text-transform). - Propiedades de altura de línea (
line-height). - Propiedades de flotamiento (
float). - Propiedades para limpiar (
clear).
Combinar pseudo-elementos y clases CSS
Los pseudo-elementos pueden ser combinados las clases CSS.
En el siguiente ejemplo, especifica que la primera letra del párrafo en rojo y un aumenta el tamaño:
p.intro::first-letter {
color: #ff0000;
font-size: 200%;
}
Combinar pseudo-elementos CSS
Los pseudo-elementos pueden ser combinados.
En el siguiente ejemplo, la primera letra de los párrafos se especifica en rojo y un tamaño mayor, el resto de la primera línea se especifica en color azul y un tamaño menor y el resto del párrafo será del color y tamaño predeterminado.
p::first-letter {
color: #ff0000;
font-size: xx-large;
}p:first-line {
color: #0000ff;
font-variant: small-caps;
}
El pseudo-elemento ::before
El pseudo-elemento ::before sirve para insertar un contenido antes del contenido de una etiqueta.
El siguiente ejemplo, inserta una imagen antes del contenido de cada etiqueta <h1>:
h1::before {
content: url(foto.jpg);
}
El pseudo-elemento ::after
El pseudo-elemento ::after sirve para insertar un contenido después del contenido de una etiqueta.
El siguiente ejemplo, inserta una imagen después del contenido de cada etiqueta <h1>:
h1::after {
content: url(foto.jpg);
}
El pseudo-elemento ::selection
El pseudo-elemento ::selection aplica una porción de contenido que es seleccionado por el usuario.
Las siguientes propiedades aplican al pseudo-elemento ::selection:
colorbackgroundcursoroutline
El siguiente ejemplo, especifica el texto seleccionado en color rojo y fondo amarillo:
::selection {
color: red;
background: yellow;
}
Los pseudo-elementos CSS
| Selector | Ejemplo | Descripción |
|---|---|---|
::after |
p::after |
Inserta contenido después del contenido de cada etiqueta <p>. |
| ::before | p::before |
Inserta contenido antes del contenido de cada etiqueta <p>. |
::first-letter |
p::first-letter |
Aplica para la primera letra de cada etiqueta <p>. |
::first-line |
p::first-line |
Aplica para la primera línea de cada etiqueta <p>. |
::selection |
p::selection |
Aplica a la porción de contenido seleccionada por el usuario. |