Herramientas CSS

Gratis Generador de funcion CSS light-dark()

Genera reglas CSS color-scheme y light-dark() para modo oscuro.

Cargando herramienta...

Qué es Generador de funcion CSS light-dark()?

La funcion CSS light-dark() toma dos valores de color y selecciona automaticamente el primero para modo claro y el segundo para modo oscuro segun la propiedad color-scheme. Esto elimina la necesidad de bloques duplicados de propiedades personalizadas CSS o de un interruptor de tema JavaScript para soporte basico de modo oscuro.

Respuesta rápida

La funcion CSS light-dark() devuelve uno de dos valores de color segun el esquema de color actual, facilitando el soporte de modos claro y oscuro sin duplicar reglas CSS.

Last updated: 2026-05-25

Limitaciones

  • Light-dark() solo funciona cuando la propiedad color-scheme esta establecida en el documento o elemento. Sin ella, la funcion usa por defecto el primer color.
  • La funcion acepta exactamente dos valores de color: uno para claro y otro para oscuro. El cambio de tema complejo aun requiere propiedades personalizadas o media queries.
  • Los navegadores antiguos no admiten light-dark(). Proporcione un color de fallback antes de la funcion light-dark() en la declaracion de propiedad.

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

Cómo usar esta herramienta

  1. Elija las propiedades de color que desea tematizar, como color de texto o fondo.
  2. Ingrese un color claro y un color oscuro para cada propiedad.
  3. La herramienta genera la declaracion color-scheme y las llamadas a la funcion light-dark().
  4. Copie el CSS y agregue la etiqueta meta color-scheme en el head de su pagina.

Para qué puedes usarla

  • Agregar modo oscuro basico a un sitio estatico sin JavaScript.
  • Crear pares de colores claro y oscuro para texto, fondos y bordes.
  • Construir un sistema pequeno de tokens de diseno usando light-dark() para consistencia tematica.

Casos de uso

Ejemplos prácticos

Ejemplo

Modo oscuro para blog estatico

Un blog estatico agrega color-scheme: light dark al elemento raiz y usa light-dark(#333, #eee) para el texto del cuerpo. El modo oscuro se activa automaticamente segun la preferencia del sistema del visitante.

Ejemplo

Tematizacion de tarjetas en sitio de herramientas

Un sitio de herramientas usa light-dark() para fondos y bordes de tarjetas, de modo que ambos esquemas de color se rendericen correctamente sin definiciones de variables separadas.

Errores comunes

  • Solo configurar color-scheme sin proporcionar pares de colores light-dark().
  • Usar light-dark() sin establecer color-scheme en el elemento raiz.
  • Olvidar probar ambos modos claro y oscuro en todos los elementos tematizados.

Verificación

  1. Cambie la pagina entre modo claro y oscuro usando DevTools Rendering o la configuracion del SO y verifique que los colores cambien correctamente.
  2. Pruebe en un navegador que no admita light-dark() para confirmar que se aplique el color de fallback.

FAQ

Preguntas sobre Generador de funcion CSS light-dark()

Light-dark() funciona en todos los navegadores?

Chrome 123+, Edge 123+, Safari 17.5+, Firefox 120+. Proporcione colores de fallback para navegadores antiguos declarando primero el color del modo claro.

Puede light-dark() reemplazar las propiedades personalizadas CSS?

Puede manejar casos basicos, pero las propiedades personalizadas siguen siendo mejores para sistemas de diseno complejos con muchos tokens de color.

Como detecta light-dark() el esquema de color del usuario?

El navegador lee la media query prefers-color-scheme del sistema operativo o la configuracion del navegador. Cuando el usuario ha seleccionado un tema claro, light-dark(A, B) devuelve A. Cuando ha seleccionado un tema oscuro, devuelve B. La deteccion es automatica y no requiere JavaScript.

Cual es el patron de fallback correcto para navegadores que no admiten light-dark()?

Declare el color del modo claro primero, luego use light-dark() en una declaracion separada: color: #333; color: light-dark(#333, #eee);. Los navegadores que admiten light-dark() usan la segunda declaracion. Los navegadores antiguos ignoran la funcion desconocida y mantienen el primer valor.

Herramientas relacionadas

Más herramientas css

Prueba también

Prueba también