Modo oscuro moderno: prefers-color-scheme y theming

Implementa dark mode robusto con tokens CSS, preferencia del sistema y override manual sin romper accesibilidad.

Dark mode moderno no es invertir colores: es diseñar tokens para ambos contextos de iluminación.

Con variables CSS puedes cambiar paleta completa sin duplicar reglas por componente.

La mejor estrategia combina preferencia del sistema y override manual del usuario.

  • Cambia variables, no componentes enteros.
  • Define un set mínimo de tokens: fondo, superficie, texto y acento. Sobre ellos construyes todo el sistema visual.
  • Después puedes activar tema oscuro con media query o atributo en <code>html</code>.
  • Soporte automático para usuarios que ya usan modo oscuro.
  • <code>@media (prefers-color-scheme: dark)</code> permite adaptar estilos cuando el sistema operativo está en oscuro.

Tokens para tema claro y oscuro

Cambia variables, no componentes enteros.

Define un set mínimo de tokens: fondo, superficie, texto y acento. Sobre ellos construyes todo el sistema visual.

Después puedes activar tema oscuro con media query o atributo en <code>html</code>.

Preferencia del sistema

Soporte automático para usuarios que ya usan modo oscuro.

<code>@media (prefers-color-scheme: dark)</code> permite adaptar estilos cuando el sistema operativo está en oscuro.

Si ofreces toggle manual, prioriza el valor elegido por usuario sobre la preferencia automática.

CSS
44

Modo oscuro moderno: prefers-color-scheme y theming

Implementa dark mode robusto con tokens CSS, preferencia del sistema y override manual sin romper accesibilidad.

Código del tema: display: grid; gap: 1rem;

📘 Teoría

Tokens para tema claro y oscuro

Cambia variables, no componentes enteros.

1

Define un set mínimo de tokens: fondo, superficie, texto y acento. Sobre ellos construyes todo el sistema visual.

2

Después puedes activar tema oscuro con media query o atributo en html.

Preferencia del sistema

Soporte automático para usuarios que ya usan modo oscuro.

1

@media (prefers-color-scheme: dark) permite adaptar estilos cuando el sistema operativo está en oscuro.

2

Si ofreces toggle manual, prioriza el valor elegido por usuario sobre la preferencia automática.

🧪 Aprende probando

Ejemplo Demo: tarjeta con tema El componente usa solo tokens y no depende del tema explícito.

🏁 Retos

Reto Reto: override manual Activa una paleta oscura con [data-theme='dark'].

🧰 Recursos

Enlaces útiles

Test

Comprueba tus conocimientos con un test sobre CSS.

Test de CSS

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros. culTest

La hice en febrero de 2026 para facilitar el aprendizaje de mis alumnos. La idea es aprender desarrollo web practicando y que el proyecto siga creciendo con nuevos temas, tests y retos.

Está inspirada en MDN, W3Schools, CodePen, Manz y muchos otros sitios de documentación sobre desarrollo web. Quería combinar teoría útil, ejemplos ejecutables, retos y el sistema de tests que ya tenía en culTest. culTest

Si te gustó, si no te gustó o si quieres escribirme, puedes hacerlo en cristianeslava@gmail.com