• HTML
  • CSS
  • JS

    Teorías CSS

  • Especificidad

  • Metodología BEM

  • Teoría Medidas de Texto

  • Archivo Normalize.CSS

  • Teoría de las Cajas

  • Propiedades

  • Selectores CSS

  • Pseudo-Clases

  • Propiedades de texto

  • Propiedades de Cajas

  • Propiedad Position

  • Propiedad Display

  • Diseños CSS

  • Object-fit-Object-position

  • Colores CSS

  • Flex-Box

  • Grid-Box

  • Responsive Design

  • Transition

  • Animaciones

  • Propiedad Transform

  • Variables CSS

  • Filtros CSS

  • Otros

  • Errores Comunes

Pseudo-Elementos

Los pseudo-elementos son clases creadas en base a elementos comunes, por lo que no es posible (por medios normales) crear un pseudo-elemento sin uno, estos se distinguen de los elementos comunes ya que algunos requieren del uso de la etiqueta content, estos elementos, no forman parte del DOM, sin embargo sí generan cambios visuales en la página web, por lo tanto su empleación no afectará al DOM, por otra parte también existen otros pseudo-elementos que sí forman parte del DOM como ::first-line y ::first-letter, los cuales no requieren del uso de la etiqueta content.

Nota: los dobles dos puntos (::) ubicados antes del nombre de la propiedad forman parte de la sintaxis de los pseudo-elementos.

Los tipos de pseudo-elementos son:

::first-line

La función de este es aplicar un estilo a la primera línea de un texto, puede sonar muy simple, sin embargo lo que verdaderamente ofrece este es aplicar el estilo adaptándose al elemento, o a la parte de este que cumpla con dicha característica, todo esto según las dimensiones de la pantalla, el tipo de dispositivo etc.

De este modo podemos definir que únicamente la porción del texto que se visualiza en esta línea posea un estilo en específico, sin recurrir a scripts de JavaScript

Ejemplo

Código:

Resultado

Este código resulta en que únicamente a la porción de texto ubicada en la primera línea se le aplicarán los estilos definidos, esto sin importar desde qué dispositivo o pantalla se muestren ya que estos se ajustarán para cubrir una mayor o menor porción del texto.

Una particularidad de esta propiedad es que no funciona en los elementos inline, sin embargo sí lo hace en cualquiera de los otros tipos de elementos.

::first-letter

Se trata de un pseudo-elemento muy similar a first-line, diferenciándose en que su efecto se limita únicamente a la primera letra del texto en cuestión.

Ejemplo

Código:

Resultado:

Nota: first-letter tampoco se puede aplicar a los elementos inline

::placeholder

Este pseudo-elemento cumple con la función de asignar estilos para el texto almacenado en el atributo placeholder de un elemento input de tipo text, en sí esta es la única función de este pseudo-elemento.

Ejemplo

Nota: El atributo placeholder es en el que se define el texto por defecto que se muestra en un input, y desaparece cuando el usuario escribe en este.

Ejemplo

::selection

La función de este pseudo-elemento es la de aplicar los estilos a todo aquel texto que sea seleccionado por el usuario, los estilos por defecto de los navegadores son un background azul y letras blancas, pero con este pseudo-elemento es posible aplicar las características que se deseen a la selección de texto realizada por el usuario.

Una de las características de esta propiedad es que únicamente puede comportarse como un elemento de línea, por lo que únicamente acepta propiedades de estos.

Ejemplo

Estilos por defecto

Código:

Resultado:

::before y ::after

Estos dos pseudo-elementos cumplen con funciones muy similares, su efecto es el de mostrar un texto alrededor de un texto HTML, y para hacerlo realmente crean un elemento hijo, es decir:

  • ::before: Esta propiedad muestra un texto antes del texto almacenado en el elemento en cuestión

  • ::after: Esta propiedad muestra un texto después del texto almacenado en el elemento en cuestión

Por lo tanto estos textos creados con pseudo-elementos no forman parte del DOM, de hecho para su funcionamiento dependen de la propiedad content, en la cual se almacena el texto que será mostrado en el elemento hijo, al tratarse de pseudo-elementos CSS lógicamente estas propiedades pueden almacenar cualquier propiedad de un elemento lineal.

Nota: Una característica de estos pseudo-elementos es que funcionan tanto en elementos de línea como elementos de bloque.

Ejemplo

HTML

Código:

Resultado:

Contacto

¿Quién soy?

Mi nombre es Carlos Miguel Puche Moreno, estoy estudiando programación web de forma autodidacta, si quieres saber más visita mi perfil de GitHub haciendo clic en mi fotografía, o visita mis redes sociales:

Redes

Currículum