Tutorial CSS

CSS INICIO Introducción a CSS Sintaxis CSS Selectores de CSS CSS Cómo Comentarios CSS Colores CSS Fondos CSS Bordes CSS Márgenes CSS Relleno CSS Altura/ancho de CSS Modelo de caja CSS Esquema CSS Texto CSS Fuentes CSS Iconos CSS Enlaces CSS Listas CSS Tablas CSS Pantalla CSS Ancho máximo de CSS Posición de CSS Índice Z de CSS Desbordamiento de CSS CSS flotante Bloque en línea CSS Alinear CSS Combinadores de CSS Pseudo-clase CSS Pseudoelemento CSS Opacidad CSS Barra de navegación CSS Menús desplegables de CSS Galería de imágenes CSS Sprites de imagen CSS Selectores de atributos CSS Formularios CSS Contadores CSS Diseño del sitio web CSS Unidades CSS Especificidad CSS CSS !importante Funciones matemáticas CSS

CSS Avanzado

Esquinas redondeadas CSS Imágenes de borde CSS Fondos CSS Colores CSS Palabras clave de color CSS Gradientes CSS Sombras CSS Efectos de texto CSS Fuentes web CSS Transformaciones CSS 2D Transformaciones CSS 3D Transiciones CSS Animaciones CSS Información sobre herramientas de CSS Imágenes de estilo CSS Reflejo de imagen CSS Ajuste de objeto CSS Posición del objeto CSS Enmascaramiento CSS Botones CSS Paginación CSS Columnas múltiples de CSS Interfaz de usuario de CSS Variables CSS Tamaño del cuadro CSS Consultas de medios CSS Ejemplos de CSS MQ Caja flexible de CSS

Responsivo CSS

Introducción a la tracción trasera Vista de RWD Vista de cuadrícula RWD Consultas de medios RWD Imágenes de RWD Vídeos de RWD Marcos RWD Plantillas RWD

Cuadrícula CSS

Introducción a la cuadrícula Contenedor de rejilla Elemento de cuadrícula

CSS SASS

Tutorial de SASS

Ejemplos de CSS

Plantillas CSS Ejemplos de CSS prueba css Ejercicios CSS Certificado CSS

Referencias CSS

Referencia CSS Selectores de CSS Funciones CSS CSS Referencia Aural Fuentes web seguras CSS CSS Animable Unidades CSS Convertidor CSS PX-EM Colores CSS Valores de color CSS Valores predeterminados de CSS Compatibilidad con navegador CSS

Pseudo-elementos CSS


¿Qué son los pseudoelementos?

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:

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

El ::pseudoelemento de primera línea

El ::first-linepseudo-elemento 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 

p::first-line {
  color: #ff0000;
  font-variant: small-caps;
}

Nota: el ::first-linepseudoelemento solo se puede aplicar a elementos a nivel de bloque.

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

  • propiedades de la fuente
  • propiedades del color
  • propiedades de fondo
  • espacio entre palabras
  • espaciado de letras
  • decoración de texto
  • alineación vertical
  • transformación de texto
  • altura de la línea
  • claro

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 pseudo-elementos en CSS3. Este fue un intento del W3C de distinguir entre pseudoclases y pseudoelementos .

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

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



El pseudoelemento ::primera letra

El ::first-letterpseudo-elemento se usa para agregar 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

p::first-letter {
  color: #ff0000;
  font-size: xx-large;
}

Nota: el ::first-letterpseudoelemento solo se puede aplicar a elementos a nivel de bloque.

Las siguientes propiedades se aplican al pseudoelemento ::primera letra: 

  • propiedades de la fuente
  • propiedades del color 
  • propiedades de fondo
  • propiedades de margen
  • propiedades de relleno
  • propiedades de borde
  • decoración de texto
  • alineación vertical (solo si "flotante" es "ninguno")
  • transformación de texto
  • altura de la línea
  • flotador
  • claro

Pseudo-elementos y Clases HTML

Los pseudoelementos se pueden combinar con clases HTML: 

Ejemplo

p.intro::first-letter {
  color: #ff0000;
  font-size: 200%;
}

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


Múltiples pseudo-elementos

También se pueden combinar varios pseudoelementos.

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

p::first-letter {
  color: #ff0000;
  font-size: xx-large;
}

p::first-line {
  color: #0000ff;
  font-variant: small-caps;
}

CSS - El ::antes del pseudo-elemento

El ::beforepseudo-elemento se puede utilizar 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

h1::before {
  content: url(smiley.gif);
}

CSS - El ::después del pseudo-elemento

El ::afterpseudoelemento se puede utilizar 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

h1::after {
  content: url(smiley.gif);
}

CSS - El pseudoelemento ::marker

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

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

Ejemplo

::marker {
  color: red;
  font-size: 23px;
}

CSS - El pseudo-elemento ::selection

El ::selectionpseudoelemento coincide con la parte de un elemento que selecciona un usuario.

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

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

Ejemplo

::selection {
  color: red;
  background: yellow;
}

Ponte a prueba con ejercicios

Ejercicio:

Establezca el color de fondo en rojo, de la primera línea del párrafo.

<style>
 {
  background-color: red;
}
</style>

<body>

<p class="intro">
In my younger and more vulnerable years
my father gave me some advice that I've
been turning over in my mind ever since.
'Whenever you feel like criticizing anyone,' he told me,
'just remember that all the people in this world
haven't had the advantages that you've had.'
</p>

</body>


Todos los pseudoelementos de CSS

Selector Example Example description
::after p::after Insert something after the content of each <p> element
::before p::before Insert something before the content of each <p> element
::first-letter p::first-letter Selects the first letter of each <p> element
::first-line p::first-line Selects the first line of each <p> element
::marker ::marker Selects the markers of list items
::selection p::selection Selects the portion of an element that is selected by a user

Todas las pseudoclases de CSS

Selector Example Example description
:active a:active Selects the active link
:checked input:checked Selects every checked <input> element
:disabled input:disabled Selects every disabled <input> element
:empty p:empty Selects every <p> element that has no children
:enabled input:enabled Selects every enabled <input> element
:first-child p:first-child Selects every <p> elements that is the first child of its parent
:first-of-type p:first-of-type Selects every <p> element that is the first <p> element of its parent
:focus input:focus Selects the <input> element that has focus
:hover a:hover Selects links on mouse over
:in-range input:in-range Selects <input> elements with a value within a specified range
:invalid input:invalid Selects all <input> elements with an invalid value
:lang(language) p:lang(it) Selects every <p> element with a lang attribute value starting with "it"
:last-child p:last-child Selects every <p> elements that is the last child of its parent
:last-of-type p:last-of-type Selects every <p> element that is the last <p> element of its parent
:link a:link Selects all unvisited links
:not(selector) :not(p) Selects every element that is not a <p> element
:nth-child(n) p:nth-child(2) Selects every <p> element that is the second child of its parent
:nth-last-child(n) p:nth-last-child(2) Selects every <p> element that is the second child of its parent, counting from the last child
:nth-last-of-type(n) p:nth-last-of-type(2) Selects every <p> element that is the second <p> element of its parent, counting from the last child
:nth-of-type(n) p:nth-of-type(2) Selects every <p> element that is the second <p> element of its parent
:only-of-type p:only-of-type Selects every <p> element that is the only <p> element of its parent
:only-child p:only-child Selects every <p> element that is the only child of its parent
:optional input:optional Selects <input> elements with no "required" attribute
:out-of-range input:out-of-range Selects <input> elements with a value outside a specified range
:read-only input:read-only Selects <input> elements with a "readonly" attribute specified
:read-write input:read-write Selects <input> elements with no "readonly" attribute
:required input:required Selects <input> elements with a "required" attribute specified
:root root Selects the document's root element
:target #news:target Selects the current active #news element (clicked on a URL containing that anchor name)
:valid input:valid Selects all <input> elements with a valid value
:visited a:visited Selects all visited links