Apptiva Logo

UI Elemente mit Tailwind

Mit Tailwind ist es sehr einfach das CSS-Styling einer Webseite zu definieren. Wenn es aber um UI-Elemente geht, sollte man sich nicht bloss auf Tailwind verlassen. Hier ein paar Tipps, wie gute UI-Elemente einfach mit Tailwind zu erstellen sind.

Publiziert am von Philip Schönholzer

Ein Input-Feld, Dropdown, Dialog oder gar Datepicker nur mit HTML und CSS (beziehungsweise Tailwind) zu entwickeln, ist oft unnötig zeitaufwendig. Hier sind einige Alternativen, die besser geeignet sind:

1. Form-Plugin von Tailwind CSS

Wenn du nur ein paar Eingabefelder stylen möchtest, kannst du das Form-Plugin von Tailwind verwenden. Damit erhalten die Inputs ein neutrales Styling, welches mit Tailwind angepasst werden kann. Für manche Projekte ist das völlig ausreichend.

2. Headless UI Bibliothek

Wenn ein Projekt Dialoge oder gar einen Datepicker benötigt, sollte auf eigenes HTML und CSS verzichtet werden. Neben dem hohen Zeitaufwand ist auch der Aspekt der Barrierefreiheit nicht zu unterschätzen. Ein Element nur für Bildschirm und Maus bedienbar zu machen ist eine Sache, aber meistens sollten diese Elemente auch für Touch, Screenreader und Tastatur funktionieren. Das ist auf die Schnelle nicht möglich.

Zum Glück gibt es aber für viele Renderbibliotheken (React, Vue, usw.) mittlerweile gute Headless UI Sammlungen. Headless UIs sind Elemente, die die gesamte Logik und das Verhalten der Elemente enthalten, aber überhaupt kein Styling. Sie funktionieren also direkt für Bildschirm, Maus, Touch, Screenreader und Tastatur und müssen “nur” noch gestylt werden. Das Styling ist zwar immer noch ein Aufwand, aber zumindest muss das Verhalten nicht selbst entwickelt werden.

Gute Headless UI Bibliotheken mit Fokus auf React sind:

React Aria ist für sehr komplexe Projekte gedacht, bei denen jeder Aspekt eines Elements beeinflusst werden muss. Für die meisten Projekte ist Headless UI und vor allem Radix UI vorzuziehen.

3. shadcn/ui

Headless UIs beschleunigen und unterstützen die Entwicklung von UI-Elementen enorm, erfordern aber immer noch manuelles Styling mittels CSS. Wenn man mit einem Basisstil beginnen und diesen für ein Projekt leicht ändern möchte, ist shadcn/ui eine gute Wahl. Im Gegensatz zu anderen Sammlungen wie MUI, Mantine, Chakra oder Ant-Design kopiert man diese Elemente direkt in das Projekt und kann sie nach Belieben anpassen. Diese Elemente sind dann Teil des Projektes und werden genau für dieses Projekt angepasst. In den Elementen verwendet shadcn/ui ebenfalls *Tailwind CSS* und Radix UI.

4. Bestehende Sammlung nutzen

Neben den oben genannten Optionen, ist es eine bestehende Sammlung auch eine valide Option. Im Gegensatz zu den anderen Optionen ist man hier darauf angewiesen, dass die Sammlung die benötigten Funktionen und den gewünschten Stil unterstützt. Da man im Laufe des Projektes sowieso auch Elemente oder Funktionen von Elementen benötigt, die die Sammlung nicht anbietet, muss man dann doch wieder Elemente selbst bauen. In diesem Fall ist es nicht möglich, die Elemente umzubauen oder nur Teile der Elemente zu verwenden. Daher ist shadcn/ui in vielen Projekten sinnvoller.

Apptiva Logo
Apptiva AG
Eichweid 1
6203 Sempach Station

041 322 26 26

info@apptiva.ch

WhatsApp LogoChat auf WhatsApp

Newsletter

Quartalsweise Apptiva-News mit hilfreichen Insights in deinem Postfach.

Socials

Swiss Made SoftwareLehrbetrieb Vignette

Du bist noch hier? Klasse! Wir haben noch ein paar Dinge für dich:

Fokusthemen

Angebot

Workshops

Apptiva

Rechtliches