CodeForge

Maquetación Web Dinámica / Pseudo-clases y pseudo-elementos: el arsenal secreto

::selection, ::marker, ::placeholder y ::first-letter

Teoría15 min20 XP

Cierras la teoría del módulo con los pseudo-elementos especializados: cada uno apunta a una pieza concreta que el navegador genera — el texto seleccionado, la viñeta de la lista, el placeholder del input, la primera letra. Detalles pequeños; en conjunto, la diferencia entre un sitio genérico y uno con firma.

::selection: la firma escondida

selection.css
::selection {
background: #6d28d9;
color: white;
}

Selecciona texto en cualquier sitio bien cuidado y verás su color de marca en vez del azul del sistema. Dos reglas: solo acepta color, background y text-shadow (el navegador ignora lo demás), y verifica el contraste del par — texto blanco sobre tu acento debe seguir siendo AA (módulo 4).

::marker: la viñeta por fin tuya

marker.css

Antes de ::marker, colorear una viñeta exigía list-style: none + un ::before posicionado (y romper la sangría nativa). Ahora es una regla. Acepta color, tipografía y content — suficiente para el 99% de los casos.

::placeholder: el detalle de contraste

placeholder.css

Dos recordatorios del módulo 2 ahora con su herramienta: el placeholder no reemplaza al label, y su gris por defecto suele fallar el contraste — esta regla lo corrige. El opacity: 1 neutraliza la opacidad que Firefox aplica por su cuenta.

::first-letter: el drop cap editorial

Las piezas: tamaño en em (escala con el párrafo), float: left (¡el único uso moderno respetable de float: el texto envuelve la letra!) y line-height corto para que no empuje. Su hermano ::first-line estiliza la primera línea (clásico: versalitas de apertura) — se recalcula solo al redimensionar.

Quieres las viñetas de una lista en violeta. ¿La forma moderna?

Mini-reto

La pasada de sastrería completa a tu periódico: ::selection con tu acento, ::marker violeta en las listas, ::placeholder con contraste corregido y el drop cap en el primer párrafo de la noticia principal. Cuatro reglas, identidad en los detalles.

Qué sigue

Teoría del módulo completa: estados, posición, combinadores, :has(), fantasmas, arte y especializados. Vienen los DOS retos: dibujar un logo solo con CSS, y el gran final — un checklist interactivo completo sin una línea de JavaScript.