('

Introductie van de Tailwind CSS-plug-in daisyUI: “alleen met klassen” snel UI bouwen

\n

Tailwind CSS is een utility‑class framework dat veel vrijheid biedt, maar het kan omslachtig zijn om telkens componenten zoals knoppen, kaarten of modals handmatig te combineren.\ndaisyUI voegt bovenop Tailwind een set component‑klassen + thema’s toe, waardoor het ontwerpproces en de styling aanzienlijk versneld worden.

\n
\n

De installatie en configuratie verschillen per framework (Next.js, Vite, Remix, enz.). In dit artikel gaan we ervan uit dat de installatie al voltooid is.\nVoor een volledige installatie raadpleeg je de officiële documentatie:

\n

Installatiehandleiding

\n
\n

Wat is daisyUI?

\n

daisyUI is een plug-in voor Tailwind CSS die veelgebruikte UI‑patronen als component‑klassen levert. In plaats van elke utiliteit te combineren voor knoppen, kaarten of modals, kun je direct een betekenisvolle, korte klasse gebruiken, zoals btn of card.

\n
    \n
  • Component‑klassen: btn, card, navbar, modal en meer, klaar voor gebruik.
  • \n
  • Thema‑systeem: eenvoudig wisselen met data-theme="light".
  • \n
  • Naadloze integratie met Tailwind: fijn afstellen met Tailwind‑utilities.
  • \n
\n

Het meest opvallende voordeel is één ding:

\n
    \n
  • Het eindresultaat blijft hetzelfde, maar de HTML wordt aanzienlijk korter.
  • \n
\n

Hieronder zie je een vergelijking van dezelfde “Primary knop” en “kaart + actieknop” met en zonder daisyUI.

\n

DaisyUI gebruiken vs. niet gebruiken: hetzelfde resultaat, minder HTML?

\n

1) Primary knop

\n

(A) Alleen Tailwind — je moet utiliteiten combineren om de stijl te maken.

\n
<button\n  class="inline-flex items-center justify-center rounded-lg px-4 py-2 text-sm font-medium\n         bg-blue-600 text-white shadow-sm hover:bg-blue-700\n         focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2\n         disabled:opacity-50 disabled:pointer-events-none"\n>\n  Primary\n</button>\n
\n

(B) Met daisyUI — dezelfde knop met een kortere component‑klasse.

\n
<button class="btn btn-primary">Primary</button>\n
\n

Het draait niet om “Tailwind kan niet”, maar om het bundelen van herhalende combinaties in een standaard.

\n

2) Kaart + actieknop

\n

(A) Alleen Tailwind — afzonderlijke combinaties voor container, titel, tekst en actie.

\n
<div class="w-96 rounded-2xl bg-white shadow-xl">\n  <div class="p-6">\n    <h2 class="text-lg font-semibold">Card title</h2>\n    <p class="mt-2 text-sm text-slate-600">\n      Bij herhaald gebruik worden klassen lang en duplicatie toeneemt.\n    </p>\n    <div class="mt-4 flex justify-end">\n      <button\n        class="inline-flex items-center justify-center rounded-lg px-4 py-2 text-sm font-medium\n               bg-blue-600 text-white shadow-sm hover:bg-blue-700\n               focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2"\n      >\n        Bevestigen\n      </button>\n    </div>\n  </div>\n</div>\n
\n

(B) Met daisyUI — de rol van de kaart is meteen zichtbaar, extra Tailwind kan toegevoegd worden.

\n
<div class="card w-96 bg-base-100 shadow-xl">\n  <div class="card-body">\n    <h2 class="card-title">Card title</h2>\n    <p>\n      DaisyUI levert herhalende UI‑structuren als component‑klassen, waardoor de HTML korter wordt.\n    </p>\n    <div class="card-actions justify-end">\n      <button class="btn btn-primary">Bevestigen</button>\n    </div>\n  </div>\n</div>\n
\n

Samengevat:

\n
    \n
  • Kortere klassen → betere leesbaarheid
  • \n
  • Uniforme standaardwaarden voor herhalende patronen
  • \n
  • Inbegrepen thema’s voor snelle consistentie
  • \n
\n

De volgende sectie gaat dieper in op het thema‑systeem.

\n

Thema‑systeem: waarom dark mode en merk‑thema’s zo eenvoudig zijn

\n

daisyUI’s kracht ligt in het thema‑wisselen. Het biedt standaard CSS‑variabele thema’s, waardoor kleur, achtergrond en teksttoon van de hele app automatisch veranderen.

\n

Light en dark thema‑wissel

\n

Thema toepassen in HTML

\n
<html data-theme="light">\n  <body>\n    <button class="btn btn-primary">Hello</button>\n  </body>\n</html>\n
\n

Thema toggelen met JavaScript

\n
const html = document.documentElement;\n\nfunction toggleTheme() {\n  const next = html.getAttribute("data-theme") === "dark" ? "light" : "dark";\n  html.setAttribute("data-theme", next);\n}\n
\n

Voordelen van deze aanpak:

\n
    \n
  • Global thema‑wissel in plaats van per component kleuren aanpassen
  • \n
  • Snelle stabilisatie van het designsysteem (kleur/tonen) in het begin
  • \n
\n

Tailwind en daisyUI samen gebruiken!

\n

daisyUI is ideaal om een basisvorm snel vast te leggen en vervolgens met Tailwind de details af te stemmen.

\n

Bijvoorbeeld extra marges, uitlijning of responsiviteit toevoegen aan een knop:

\n
<button class="btn btn-primary w-full sm:w-auto px-6">\n  Opslaan\n</button>\n
\n
    \n
  • btn btn-primary: component‑stijl (consistentie)
  • \n
  • w-full sm:w-auto px-6: layout, responsiviteit, fijne afstemming
  • \n
\n

Wanneer is daisyUI bijzonder voordelig?

\n
    \n
  • MVP / prototyping: snel een mooie, werkende interface bouwen.
  • \n
  • Dashboard / admin‑pagina: veel herhalende UI‑patronen (tabellen, kaarten, formulieren).
  • \n
  • Kleine teams / solo‑ontwikkelaars: weinig tijd voor een uitgebreid designsysteem.
  • \n
  • Thema‑kritische services: eenvoudig dark mode of merk‑skins beheren.
  • \n
\n

Overwegingen

\n
    \n
  • Klassen‑naamgeving wordt toegevoegd in de daisyUI‑stijl (bijv. btn, card, navbar). Controleer of dit in lijn is met je team‑conventies.
  • \n
  • Extreem aangepaste ontwerpen kunnen beperkt worden door de standaard component‑stijlen. Gelukkig kun je met Tailwind‑utilities de meeste aanpassingen doen, of componenten herdefiniëren.
  • \n
\n

Afsluiting

\n

daisyUI is een “praktische” plug‑in die de productiviteit van Tailwind nog verder verhoogt.\nDankzij component‑klassen en het thema‑systeem kun je UI snel opzetten en een consistente stijl behouden.

\n

In het volgende artikel zullen we dieper ingaan op:

\n
    \n
  • Het kiezen en aanpassen van thema’s voor je project
  • \n
  • Wat daisyUI’s thema’s precies zijn en waarom het wisselen zo eenvoudig is
  • \n
\n

We gaan dieper in op dezelfde onderwerpen.

', '/media/editor_temp/6/6ac85d97-48bb-4f3b-8533-b8976e840cdd.png')