Pseudo-elementos en CSS: la clave para crear ilustraciones más complejas

Cuando empiezas a dibujar con CSS, lo habitual es construir formas simples: círculos, triángulos o pequeños iconos. Pero en cuanto quieres añadir más detalle o crear composiciones más ricas, aparece una limitación clara: el HTML empieza a crecer innecesariamente.

Si ya has trabajado cómo dibujar formas básicas con CSS, este es el siguiente paso natural.

Aquí es donde entran en juego los pseudo-elementos en CSS.

Gracias a ::before y ::after, puedes añadir capas visuales, detalles decorativos e incluso partes completas de una ilustración sin ensuciar el marcado. Esto no solo mejora la estética, sino también la mantenibilidad y la claridad del código.

Además, su uso tiene impacto directo en algo clave en UX: la relación entre tiempo de decisión y carga cognitiva. Porque no se trata solo de dibujar más, sino de dibujar mejor.


Qué son los pseudo-elementos en CSS y por qué importan tanto

Los pseudo-elementos permiten crear contenido visual adicional dentro de un elemento, sin añadir nodos al HTML.

Los más utilizados son:

  • ::before
  • ::after

Ambos funcionan como capas extra que puedes posicionar, estilizar y animar.

La gran ventaja: más complejidad visual, menos HTML

Uno de los errores más comunes al dibujar con CSS es abusar del HTML.

Si vienes de crear estructuras más básicas como en formas con CSS, aquí notarás la diferencia enseguida.

Resultado:

  • HTML más limpio
  • CSS más potente
  • Componentes más reutilizables

Cómo funcionan ::before y ::after en la práctica

content no es opcional

Sin content, el pseudo-elemento no existe:

.elemento::before {
content: '';
}

Aunque no muestres texto, necesitas declararlo.


Se comportan como hijos del elemento

Se renderizan dentro del elemento, como si fueran hijos:

  • ::before → antes del contenido
  • ::after → después del contenido

Necesitan contexto de posicionamiento

Para trabajar bien con ellos:

.elemento {
position: relative;
}.elemento::before {
content: '';
position: absolute;
}

Esto te permite controlar su posición con precisión.


Por qué son clave para dibujar con CSS

Una sola etiqueta puede convertirse en una mini ilustración

Con pseudo-elementos puedes construir composiciones completas con una sola etiqueta.

Si ya has probado a dibujar iconos con CSS sin usar imágenes, aquí es donde empiezas a escalar el nivel.

Tres capas sin añadir HTML:

  • base
  • ::before
  • ::after

Te obligan a pensar por capas

Este cambio es clave.

Empiezas a diseñar como en ilustración:

  • base
  • volumen
  • sombras
  • detalles
  • interacción

Esto mejora mucho tu forma de construir interfaces.


Tiempo de decisión vs. carga cognitiva: qué tiene que ver esto con los pseudo-elementos

Este punto conecta directamente con diseño UX.

Si te interesa profundizar más en esto, puedes leer también por qué diseñar primero lo esencial mejora la experiencia de usuario.


Cuando reducen el tiempo de decisión

Un pseudo-elemento bien usado puede:

  • indicar interacción
  • reforzar jerarquía
  • guiar la mirada

Ejemplo:

.link::after {
content: '→';
margin-left: 4px;
}

👉 El usuario entiende más rápido qué hacer.


Cuando aumentan la carga cognitiva

Si abusas de ellos:

  • demasiadas capas
  • demasiados efectos
  • demasiada decoración

El resultado es ruido visual.

💡 Clave: no todo lo que se puede hacer, se debe hacer.


Casos de uso reales en ilustración y diseño de interfaz

Decoración estructural sin ensuciar el HTML

Ejemplo: subrayado decorativo

.title::after {
content: '';
display: block;
height: 6px;
background: #f8e0ea;
}

Crear formas compuestas

Ejemplo: bocadillo de diálogo

.bubble::after {
content: '';
position: absolute;
bottom: -10px;
width: 20px;
height: 20px;
background: white;
transform: rotate(45deg);
}

Añadir capas interactivas

Ejemplo: hover animado

.button::before {
content: '';
position: absolute;
inset: 0;
transform: translateX(-100%);
transition: transform .3s;
}.button:hover::before {
transform: translateX(0);
}

Técnicas avanzadas para ilustraciones más complejas

Combinar pseudo-elementos con sombras múltiples

.dot {
box-shadow: 20px 0 0 black, 40px 0 0 black;
}

Permite duplicar formas sin más elementos.


Usar transformaciones para reutilizar piezas

.elemento::before {
transform: rotate(45deg);
}

Reutilizar una misma forma ahorra trabajo y mejora consistencia

Esto mejora:

  • coherencia visual
  • mantenimiento
  • escalabilidad

Mezclar pseudo-elementos con gradientes

.shape {
background: radial-gradient(circle, white, blue);
}

Usar clip-path y pseudo-elementos juntos

Si quieres profundizar en este tipo de técnicas, un buen siguiente paso sería explorar clip-path en CSS (ideal para formas más avanzadas).

.elemento {
clip-path: polygon(...);
}

Ejemplo práctico: construir una ilustración sencilla con una sola etiqueta

<div class="flower"></div>
.flower {
position: relative;
width: 80px;
height: 80px;
background: pink;
border-radius: 50%;
}.flower::before {
content: '';
position: absolute;
box-shadow: 40px 0 pink, -40px 0 pink;
}.flower::after {
content: '';
position: absolute;
width: 30px;
height: 30px;
background: yellow;
border-radius: 50%;
}

Una sola etiqueta → múltiples formas.


Buenas prácticas al usar pseudo-elementos en proyectos reales

  • No metas contenido importante en content
  • Úsalos para decoración o refuerzo visual
  • Mantén el HTML limpio
  • Documenta estructuras complejas

CSS no tiene que demostrar nada

No siempre CSS es la mejor solución.

Si algo es demasiado complejo: usa SVG.


Errores frecuentes al dibujar con CSS usando pseudo-elementos

  • Olvidar position: relative
  • Abusar de z-index
  • Sobrecargar visualmente
  • Crear CSS difícil de mantener

Cuándo usar pseudo-elementos y cuándo no

Úsalos cuando:

  • quieras añadir decoración
  • necesites capas extra
  • quieras evitar más HTML

Evítalos cuando:

  • el contenido sea importante
  • la complejidad sea alta
  • SVG sea más claro

Preguntas frecuentes sobre pseudo-elementos en CSS

¿Se pueden hacer ilustraciones completas con CSS?
Sí, pero no siempre es lo más práctico.

¿Pseudo-elementos vs pseudo-clases?

  • pseudo-clases → estados
  • pseudo-elementos → partes

¿Afectan a la accesibilidad?
Sí, si metes contenido importante en ellos.


Dibujar mejor con CSS no consiste en añadir más, sino en decidir mejor

Los pseudo-elementos en CSS te permiten crear más con menos. Añadir capas, enriquecer interfaces y mejorar la claridad visual sin complicar el HTML.

Pero también exigen algo clave: criterio.

No se trata de añadir más capas, sino de reducir la fricción visual.

Si ya has practicado con formas básicas e iconos, los pseudo-elementos en CSS son el siguiente paso para construir ilustraciones más ricas sin complicar innecesariamente el HTML. Y cuando empieces a usarlos con criterio, verás que no solo mejoras tus dibujos con CSS: también mejoras tu forma de pensar componentes.

Dark mode vs Light mode: cuándo usar cada uno y cómo implementarlos

como experta diseñadora gráfica genera una imagen para el blog martagonzalez.dev para el post titulado: Dark mode vs Light mode: cuándo usar cada uno y cómo implementarlos

¿Qué es realmente el Dark Mode y el Light Mode?

El modo claro (light mode) es la convención clásica: fondos claros y texto oscuro.

El modo oscuro (dark mode) invierte esta lógica: fondos oscuros y texto claro.
Pero no se trata solo de cambiar colores. Un buen dark mode necesita contrastes adecuados,
una paleta optimizada y una jerarquía visual clara.

Piensa que no es simplemente “dar vuelta” el esquema de colores, sino rediseñar la experiencia.

Dark mode vs Light mode: ventajas y desventajas

Ventajas del Dark Mode

  • Reduce fatiga visual en entornos oscuros.
  • Mejora la autonomía en pantallas OLED.
  • Aporta estética moderna y elegante.

Desventajas del Dark Mode

  • Peor legibilidad en textos largos.
  • Puede aumentar la carga cognitiva si los contrastes son malos.

Ventajas del Light Mode

  • Excelente para lectura prolongada.
  • Más familiar para la mayoría de usuarios.
  • Contraste y jerarquía más fáciles de gestionar.

Desventajas del Light Mode

  • En la oscuridad produce deslumbramiento.
  • Puede parecer menos sofisticado en ciertas interfaces.

¿Cuándo usar cada uno?

La clave no es cuál es mejor, sino cuál es mejor para tu contexto.

Casos ideales para Light Mode

  • Blogs y periódicos digitales.
  • Aplicaciones educativas o de lectura intensiva.
  • Herramientas de oficina (documentos, hojas de cálculo).

Casos ideales para Dark Mode

  • Aplicaciones creativas (editores de código, diseño, música).
  • Apps de entretenimiento (Netflix, YouTube, Spotify).
  • Interfaces para uso nocturno o en ambientes oscuros.

La mejor opción: dar ambas posibilidades

Lo más recomendable es implementar un sistema dual y permitir que el usuario elija.
Esto reduce la carga cognitiva porque no impones un estilo,
sino que das libertad.

Cómo implementar Dark Mode y Light Mode

Aquí te muestro diferentes formas de hacerlo en proyectos web,
desde lo más sencillo en CSS hasta integraciones en React y Tailwind.

1) Detectar preferencia del sistema con CSS

 

/* Light por defecto */
body {
    background-color: #ffffff; 
    color: #222222; 
    } 
/* Dark automático */ 
@media (prefers-color-scheme: dark) { body { 
        background-color: #121212; 
        color: #f1f1f1; 
    } 
}

2) Toggle manual con JavaScript

const btn = document.getElementById('toggle-theme'); btn.addEventListener('click', () =&gt; { document.body.classList.toggle('dark'); localStorage.setItem('theme', document.body.classList.contains('dark') ? 'dark' : 'light' ); });

3) Dark Mode con Tailwind CSS

// tailwind.config.js
module.exports = {
  darkMode: 'class',
  theme: { extend: {} },
};

&lt;div class="bg-white text-black dark:bg-gray-900 dark:text-white"&gt;
  &lt;h1&gt;Hola Mundo&lt;/h1&gt;
&lt;/div&gt;

4) Toggle en React

&lt;code class=»language-tsx»&gt;const [theme, setTheme] = useState( localStorage.getItem(‘theme’) || ‘light’ ); useEffect(() =&amp;gt; { document.body.className = theme; localStorage.setItem(‘theme’, theme); }, [theme]); &lt;/code&gt;

Buenas prácticas

Contraste adecuado

Evita el negro puro #000 y el blanco puro #fff.
Usa tonos suaves como #121212 y #f9f9f9.

Colores de acento

En dark mode, los colores vibran más. Ajusta saturación para evitar cansancio visual.

Imágenes e iconos

Asegúrate de que tus ilustraciones y logos tengan versión para ambos modos.

Preguntas frecuentes

¿El dark mode es siempre mejor para la vista?

No. Es útil en entornos oscuros, pero puede cansar en lecturas largas.

¿Debo implementar ambos modos en mi web?

Sí, si tu producto se usa en contextos variados (blogs, apps de productividad, e-learning).

¿El dark mode afecta al SEO?

No directamente. Pero mejora la experiencia del usuario y eso ayuda al posicionamiento.


Ofrecer ambas opciones es sencillo hoy en día y aporta comodidad, accesibilidad
y personalización. Al final, lo importante no es qué prefiero yo, sino qué le da
a tu usuario una mejor experiencia.

Cómo prototipar emociones: diseño UI que conecta con las personas

Cómo prototipar emociones: diseño UI que conecta con las personas

La importancia de diseñar para las emociones

El diseño de interfaces nunca es neutral. Cada color, cada tipografía y cada microinteracción comunica algo.
El diseño emocional busca provocar una respuesta afectiva que acompañe a la tarea y potencie el vínculo con el producto.
Cuando logramos que alguien sonría con una animación sutil o sienta confianza gracias a un lenguaje claro, construimos una relación que va más allá de lo técnico.

Beneficios tangibles

  • Memorabilidad: lo que emociona, se recuerda mejor.
  • Confianza: una interfaz que transmite calma y claridad reduce la fricción.
  • Conversión: la emoción guía muchas decisiones antes que la razón.
  • Diferenciación: dos apps pueden hacer lo mismo, pero la que conecta se queda en la mente.

Señales de que tu UI necesita más emoción

  • Usuarios completan tareas, pero no regresan ni recomiendan.
  • Feedback cualitativo frío: “funciona”, “está bien”, pero nada más.
  • Bajas tasas de interacción en vacíos de contenido, estados de error o onboarding.

Qué significa prototipar emociones

Prototipar emociones es hacer visible lo invisible: definir, diseñar y testear la atmósfera afectiva que deseamos provocar
en cada momento clave de la experiencia. Igual que prototipamos interacciones, también podemos prototipar la sensación que queremos provocar.

De intención a sistema

  1. Intención emocional: ¿queremos transmitir calma, energía, confianza, alegría, logro?
  2. Traducción de atributos: tono de voz, paleta, tipografía, ritmo, movimiento, sonido.
  3. Escenarios: recorridos reales donde esa emoción es crítica (p. ej., pagos, errores, vacíos).
  4. Protoboard emocional: un lienzo con ejemplos de microcopy, estados y animaciones objetivo.

Capas de experiencia a considerar

  • Visceral: percepción inmediata (color, forma, contraste).
  • Conductual: control, feedback, fluidez.
  • Reflexiva: significado, valores y coherencia de marca a largo plazo.

Idea clave: si no podemos describir la emoción objetivo con una frase simple,
no podremos diseñarla ni medirla.

Investigación: detectar y priorizar emociones

Antes de diseñar hay que escuchar. La investigación con foco emocional combina métodos
cualitativos y cuantitativos para entender qué sienten las personas y por qué.

Métodos cualitativos

  • Entrevistas en profundidad: exploran detonantes, miedos y expectativas.
  • Diarios de uso: capturan emociones en contexto y a lo largo del tiempo.
  • Mapa de empatía y journey map: visualizan las emociones por etapa.
  • Card sorting emocional: tarjetas con palabras-estado (calma, prisa, logro, duda) para priorizar.

Guion base para entrevistas orientadas a emociones

  1. Cuéntanos una experiencia reciente con [producto/categoría]. ¿Qué sentiste al inicio?
  2. ¿Qué momento te resultó más tenso? ¿Por qué?
  3. Si pudiéramos cambiar una sensación, ¿cuál sería y en qué punto?
  4. Completa: “Me gustaría sentir ___ cuando ___”.

Métodos cuantitativos

  • Escalas de valencia/arousal: miden positividad e intensidad de la emoción.
  • Encuestas post-tarea: “En una palabra, ¿cómo te sentiste?” + escala Likert.
  • Eventos de comportamiento: abandonos, rage clicks, tiempo en error.

Consejo práctico

Incluye siempre una pregunta abierta: “¿Qué hubiera hecho que te sintieras mejor en este paso?”
La gente suele darte pistas accionables de microcopy o feedback visual.

Traducir emociones a la UI

Ahora convertimos intención en decisiones de diseño. No es decoración: es sistema.
Cada componente debe sostener la emoción objetivo sin sacrificar accesibilidad ni rendimiento.

Paleta y tipografía con intención

  • Calma/Confianza: tonos fríos o desaturados; tipografías legibles y estables.
  • Energía/Logro: acentos cálidos; pesos tipográficos que destaquen el momento de éxito.
  • Cercanía: redondeos suaves, alturas de línea generosas, microcopys conversacionales.

Microguía rápida de contraste

Asegura contraste suficiente (WCAG) en mensajes críticos. La claridad también se siente: reduce ansiedad.

Microcopy que habla en voz humana

  • Éxito: “¡Listo! Guardamos tus cambios. ¿Quieres revisar el resumen?”
  • Error: “No pudimos completar el pago. Revísalo y probamos otra vez juntos.”
  • Vacío: “Aquí vivirán tus proyectos. Crea el primero en un clic.”

Principios de tono

  1. Claro antes que creativo: la comprensión reduce la carga emocional negativa.
  2. Empático, no paternalista: evita culpar; ofrece guía concreta.
  3. Coherente: misma voz en correos, notificaciones y UI.

Microinteracciones y movimiento

El movimiento es un canal emocional potente. Úsalo con propósito: anticipación, respuesta, confirmación.

  • Feedback inmediato: cambios de estado visibles y auditables (si aplica).
  • Éxito: pequeños rebotes o checkmarks que celebran sin interrumpir.
  • Progreso: esqueletos y contadores reducen incertidumbre durante esperas.

Patrones rápidos

  • Loading con tiempo estimado realista y acción alternativa.
  • Errores con ruta de salida (CTA secundaria de ayuda).
  • Confirmaciones que ofrecen el siguiente mejor paso.

Prototipos, narrativa y fidelidad

Un prototipo sin contexto puede sentirse frío. La narrativa envuelve al flujo y permite
que evaluadores y usuarios vivan la experiencia, no solo la analicen.

Niveles de fidelidad

  • Baja: bocetos y wireframes para explorar emociones objetivo sin distracciones.
  • Media: UI aproximada con microcopy y estados clave.
  • Alta: microinteracciones, tiempos, sonidos; ideal para test emocionales finos.

Storyboards y guiones

Usa viñetas simples: situación, tensión, acción, resolución.
Diseña los picos emocionales (tensión) y las válvulas (alivio) con intención.

Técnicas útiles

  • Wizard of Oz: simula IA o automatizaciones para validar emoción sin construir todo.
  • Role play: reproduce contextos (prisa, distracción, baja conectividad).
  • Escenarios adversos: prueba qué se siente cuando algo falla y cómo se recupera.

Cómo medir el impacto emocional

Medir emociones no es esotérico: es método. Combinamos lo que la gente dice,
lo que hace y cómo se siente en el trayecto.

Métricas cualitativas

  • Escala de una palabra: “Describe tu experiencia con una palabra”.
  • Diarios post-sesión: cómo cambia la sensación al usarlo por varios días.
  • Mapa emocional del journey: puntúa 1–5 valencia/arousal por etapa.

Plantilla de registro por tarea

Registro de valencia y arousal por tarea
Tarea Valencia (−2 a +2) Arousal (1–5) Palabra Observaciones
Onboarding +1 3 Esperanza Microcopy claro, diseño aireado.
Pago 0 4 Tensión Falta tiempo estimado y métodos alternativos.

Métricas cuantitativas

  • Conversión por estado: éxito tras errores con y sin ayuda empática.
  • Abandono en esperas: diferencia entre spinner vs. progreso con expectativa.
  • Eventos de frustración: rage clicks, reintentos, cierres inesperados.

Triangulación práctica

Si la valencia mejora pero sube el abandono, quizá la UI es más amable pero sigue lenta.
Emoción sin rendimiento no retiene; rendimiento sin emoción no fideliza. Equilibremos.

Guía paso a paso: de la intención al impacto

  1. Define 1–2 emociones objetivo por flujo crítico.
  2. Arma un moodboard emocional con referencias de voz, color y movimiento.
  3. Lista momentos sensibles (onboarding, error, pago, vacío, éxito).
  4. Escribe microcopy para cada estado, con variantes A/B.
  5. Prototipa fidelidad media con tiempos y estados realistas.
  6. Incorpora microinteracciones mínimas viables y accesibles.
  7. Testea emociones con valencia/arousal + pregunta abierta.
  8. Itera según hallazgos y trade-offs con rendimiento.
  9. Documenta un “sistema emocional” en tu design system.
  10. Monitorea en producción abandono, errores y NPS por flujo.

Preguntas frecuentes (FAQs)

¿Cómo diferenciar un diseño funcional de uno verdaderamente emocional?

El funcional resuelve la tarea; el emocional, además, deja huella.
Se percibe en la memoria (“quiero volver”), en la reducción de ansiedad y en micro-momentos de satisfacción bien diseñados.

¿Se puede medir de forma objetiva una emoción en UI?

Podemos aproximarnos con valencia/arousal, encuestas post-tarea y eventos de comportamiento.
Lo ideal es triangular: lo que la gente dice, hace y siente.

¿Qué pasa si buscamos provocar tensión o frustración?

Puede tener sentido en juegos o aprendizajes por reto, pero debe ser controlado y contextual,
con una vía clara de alivio y recuperación para que no erosione la confianza.

Más allá de las pantallas

Diseñar interfaces sin emociones es como construir un puente solo con hierro y cemento: cumplirá su función,
pero nadie querrá detenerse en medio a contemplar el paisaje.

Cuando prototipamos emociones, en cambio, levantamos puentes habitables: con luces que guían,
con detalles que sorprenden y con un ritmo que acompaña al viajero. Así logramos que las personas no solo crucen,
sino que disfruten del trayecto y recuerden la experiencia.

El reto está en atreverse a diseñar con sensibilidad. Preguntarnos en cada interacción:
“¿qué quiero que sienta aquí?”. Porque al final, más allá de los flujos y de los botones,
lo que queda en la memoria no son las pantallas, sino las sensaciones.

Nuestro llamado es claro: no dejemos las emociones fuera del prototipo.
Convirtámoslas en el hilo conductor que transforme productos digitales en experiencias humanas, vivas y cercanas.