Tema daisyUI: 35 paletas para acabar con las dudas de color
\ndaisyUI no se limita a “soporte de modo oscuro”.\n35 paletas (temas) predefinidas con combinaciones de colores de nivel de producto están disponibles, y puedes aplicarlas de forma coherente en toda la aplicación.
\n
\n\nEste artículo asume que la instalación ya está completa.\nSi necesitas instalar, consulta la guía oficial: https://daisyui.com/docs/install/
\n
\n
Entendiendo el tema: “No se asignan colores directamente”
\nEl punto más confuso para los principiantes es aquí.
\n| Método incorrecto | \nResultado | \n
|---|---|
Usar Tailwind con bg-white, text-slate-900, bg-blue-600 y asignar colores directamente | \nEl elemento mantiene el color fijo incluso cuando cambias el tema | \n
Para usar el tema, no codifiques colores; utiliza los tokens (nombres de colores basados en significado) que daisyUI ofrece.
\n❌ Ejemplo incorrecto: ignorar el tema con codificación directa
\n<div class="bg-white text-slate-900 p-6 rounded-2xl">\n <button class="bg-blue-600 text-white px-4 py-2 rounded-lg">Save</button>\n</div>\n\n✅ Ejemplo correcto: usar tokens daisyUI y adaptarse al tema
\n<div class="bg-base-100 text-base-content p-6 rounded-box">\n <button class="btn btn-primary">Save</button>\n</div>\n\nLo importante es el rol del color, no el color en sí.
\n- \n
bg-base-100: fondo principal de pantalla/carta \ntext-base-content: color de texto principal \nbtn-primary: acción principal (CTA) \n
El tema asigna colores según estos roles.
\n\n
Entonces, ¿qué se debe usar?
\nPara usar correctamente el tema daisyUI, adopta una de las siguientes prácticas (o ambas).
\n| Uso | \nEjemplo | \n
|---|---|
| Clases de componentes daisyUI | \nbtn, btn-primary, alert, badge, card, navbar, input, etc. | \n
| Clases de tokens de color daisyUI (basados en significado) | \nFondo/texto base: bg-base-100, bg-base-200, bg-base-300, text-base-content Color de punto: bg-primary, text-primary, bg-secondary, bg-accent, bg-neutral Estado: bg-info, bg-success, bg-warning, bg-error (+ sus *-content) | \n
Por ejemplo, para una barra de advertencia, no asignes colores directamente, sino que expreses el rol.
\n<div class="bg-warning text-warning-content p-4 rounded-box">\n Falta información de pago.\n</div>\n\n\n
Aplicar el tema: cambiar el ambiente con una sola data-theme
\nAplicar el tema es sorprendentemente sencillo.
\n<html data-theme="cupcake">\n <body>\n <div class="bg-base-100 text-base-content min-h-screen p-10">\n <button class="btn btn-primary">Primary</button>\n </div>\n </body>\n</html>\n\nEsta única línea (data-theme) cambia el conjunto de variables de color de toda la aplicación.
\n
El tema no solo cambia “todo”: también se aplica por sección
\nEn el desarrollo de productos surgen requerimientos frecuentes.
\n- \n
- “La página principal es limpia, pero el banner de eventos debe destacar” \n
- “El panel de administración es oscuro, la página de usuario es claro” \n
daisyUI permite aplicar data-theme a un DOM específico, cambiando solo esa zona. No hay límite de anidamiento.
<html data-theme="dark">\n <body>\n <main class="p-10">\n <h1 class="text-2xl font-bold">Todo es oscuro</h1>\n\n <section data-theme="light" class="mt-8 p-6 rounded-box bg-base-100 text-base-content">\n Esta sección siempre es clara\n <span data-theme="retro" class="ml-2">Este span es retro</span>\n </section>\n </main>\n </body>\n</html>\n\nEsta funcionalidad se usa con más frecuencia que un simple “toggle de tema”.
\n\n
Gestión del tema: activa solo los temas que necesitas
\nUna vez instalado, la activación de temas se controla en el bloque @plugin "daisyui" { ... } de CSS.
@import "tailwindcss";\n\n@plugin "daisyui" {\n themes: light --default, dark --prefersdark, cupcake;\n}\n\n- \n
themeses una lista separada por comas. \n--defaultindica el tema por defecto. \n--prefersdarkactiva el tema cuando el sistema prefiera modo oscuro (prefers-color-scheme: dark). \n
Si quieres probar todos, puedes hacer:
\n@plugin "daisyui" {\n themes: all;\n}\n\nEn la práctica, suele ser más sencillo activar solo los temas necesarios.
\n\n
Diferenciador: ver la “selección de tema” como estrategia de producto, no solo diseño
\nVer los 35 temas como simples “skins bonitas” es un desperdicio. Mi enfoque es el siguiente.
\n| Etapa | \nUso | \n
|---|---|
| MVP | \nPresentar varios temas como “candidatos de marca” y validar rápidamente con UI/Contenido | \n
| Operación | \nAl no codificar colores, renovar la marca o eventos de temporada se logra cambiando solo el tema | \n
| Colaboración | \nSin diseñador, mantener la coherencia con tokens basados en roles | \n
El mensaje clave es:
\n\n\nAl eliminar la codificación directa de colores, el tema se convierte en una herramienta que actualiza toda la aplicación de un solo golpe.
\n
\n
¿Cuándo se necesita un tema personalizado?
\nEn resumen, la mayoría de los casos se resuelven con los 35 temas por defecto. Son suficientemente completos que, normalmente, basta con elegir uno y hacer ajustes mínimos.
\nSin embargo, hay situaciones donde se considera un tema personalizado.
\n- \n
- Color de marca definido: Si la marca ya tiene un color principal, puedes elegir un tema base y sobreponer ese color. \n
En estos casos, es más eficiente personalizar solo primary y secondary que crear un tema desde cero. Así, los botones, enlaces y CTA reflejan la marca, mientras que el resto mantiene el equilibrio tonal del tema base.
La forma práctica de sobrescribir primary y secondary se detalla en el próximo artículo con ejemplos de código.
\n
Próximo artículo
\nEn la siguiente publicación abordaremos:
\n- \n
- Patrón práctico de “mantener el tema y modificar ligeramente los componentes” \n
- Cómo personalizar el tema \n
- Cheat sheet de variables de color y clases que ofrece daisyUI \n
¡Hasta la próxima!
', '/media/editor_temp/6/80ae2ebd-04c4-4f84-b0d2-15666a888080.png')