Tailwind CSS Playground
HTML mit Tailwind CSS-Klassen schreiben und live Ergebnisse sehen. Als Online-Tailwind-Editor und Tailwind-Play-Umgebung nutzen.
Geprüft von ZeroUtil Editorial Team · Zuletzt geprüft
Preview requires the Tailwind CDN (https://cdn.tailwindcss.com). If styles are missing, your network or a browser extension may be blocking external scripts.
Den Tailwind CSS Playground verwenden
- Schreibe HTML im linken Editor. Jede Tailwind Utility-Klasse ist live - das Eingeben von
flex items-center gap-4 rounded-2xl bg-indigo-500 text-whiterendert sofort. - Lies die Live-Vorschau auf der rechten Seite. Die Vorschau ist ein sandboxed iframe, sodass Stile nicht in die umgebende Seite auslaufen können.
- Schalte das Layout zwischen nebeneinander (gut auf breiten Bildschirmen) und gestapelt (besser auf Laptop-Bildschirmen oder wenn du hohe Inhalte in der Vorschau anzeigst) um.
- Klicke auf HTML kopieren um das aktuelle Markup in deine Zwischenablage zu senden; füge es in ein beliebiges Tailwind-fähiges Projekt ein, und es wird identisch gestylt.
- Verwende Zurück um die Startvorlage wiederherzustellen, wenn du ein neues Experiment beginnen möchtest.
Wie die Vorschau tatsächlich funktioniert
Der rechte Bereich ist ein <iframe> mit einem dynamisch konstruierten srcdoc-Attribut. Jeder Tastendruck im Editor wird 300 Millisekunden lang entprellt und dann verwendet, um einen vollständigen HTML-Dokumentstring zu erstellen, der das offizielle Tailwind CSS Play CDN-Skript (cdn.tailwindcss.com) plus dein Markup als Body enthält. Das iframe wird mit dem neuen srcdoc neu geladen, das Play-Skript wird ausgewertet, es scannt das Dokument nach Klassenattributen und injiziert ein <style>-Element mit nur den Utility-Regeln, die dein Markup tatsächlich referenziert (das ist dieselbe Just-in-Time-Kompilierung, die die echte Tailwind-Toolchain zur Build-Zeit ausführt). Da das iframe sein eigenes Dokument ist, kann dein Playground-Markup nicht auf das übergeordnete Fenster zugreifen, und das Tailwind CDN-Skript ist nur auf die Vorschau dieses Werkzeugs isoliert. Die 300ms-Entprellung ist die Standard-Heuristik "Tipp abgeschlossen", lang genug, um ein Neuladen bei jedem Tastendruck zu vermeiden, und kurz genug, dass die Vorschau noch live wirkt.
Wann der Online Tailwind Editor sinnvoll ist
- Prototypen einer Komponente außerhalb deiner Hauptcodebasis, sodass du das Markup iterieren kannst, ohne einen Dev-Server zu starten.
- Zusammenstellen von Beliebigwert-Utilities (
grid-cols-[280px_1fr],bg-[#14b8a6]) und prüfen, ob sie korrekt geparst werden, bevor sie in die Produktion eingefügt werden. - Testen von Dark-Mode-Varianten mit
dark:-Präfixen gegen dein bevorzugtes Basisklassen-Set. - Debuggen, warum eine Utility-Klasse nichts tut - wenn sie im Playground funktioniert, aber nicht in deinem Projekt, liegt das Problem in deiner Tailwind-Content-Konfiguration oder Build-Pipeline, nicht in der Klasse.
- Eine Antwort für einen Teamkollegen schreiben oder eine Stack-Overflow-Frage, wo du ein einfügefertiges reproduzierbares Beispiel brauchst.
Edge Cases und Fallstricke
Erstens: Das CDN verwendet die Standard-Tailwind-Konfiguration. Dein Produktionsprojekt hat wahrscheinlich ein angepasstes theme - Utilities wie bg-brand-500 funktionieren hier nicht. Verwende die äquivalente Standardpalette für die Exploration und tausche gegen dein Brand-Token aus, bevor du einfügst. Zweitens: Beliebigwerte: w-[calc(100%-2rem)] funktioniert, aber füge keine Leerzeichen in die Klammern ein. Drittens: Plugins werden nicht geladen: Die prose-Klasse des Typography-Plugins und ähnliche plugin-bezogene Utilities fehlen, es sei denn, du fügst das Plugin-Skript hinzu. Viertens: Das iframe wird bei jedem entprellten Tastendruck neu aufgebaut, sodass jeder JavaScript-Zustand innerhalb von <script>-Tags bei jeder Bearbeitung zurückgesetzt wird. Fünftens: Responsive Breakpoints verwenden die Breite des iframes, nicht eine Telefonbreite - verwende den gestapelten Layout-Schalter, um engere Bildschirme zu simulieren.
Über Tailwind selbst
Tailwind CSS ist ein utility-first CSS-Framework, das atomare Klassen (flex, mt-4, text-xl) und einen Build-Time-Compiler liefert, der das Stylesheet auf nur die Klassen herunterbringt, die tatsächlich in deinen Vorlagen referenziert werden. Es unterscheidet sich von Bootstrap oder Bulma dadurch, dass es auf Komponentenebene stilagnostisch ist: Es gibt kein vorgefertigtes .btn, nur Primitive, die du kombinierst. Seit v3 (2021) generiert die JIT-Engine Utilities bei Bedarf einschließlich Beliebigwerten, und seit v3.3 sind die @layer- und @apply-Direktiven erstklassig. Das Play CDN ist ein Browser-Build derselben JIT-Engine, weshalb jede Utility in der v3-Dokumentation hier funktioniert. Darunter gibt Tailwind normales CSS aus - das resultierende Stylesheet ist nur CSS Custom Properties, Cascade Layers (CSS Cascading and Inheritance Level 5), Flexbox, Grid und das moderne Color Module. An der Ausgabe ist nichts Proprietäres, was es ermöglicht, eine Framework-freie Seite auszuliefern und trotzdem Stile aus einem klassen-basierten Vokabular zu haben.
Vergleich zu Alternativen
Das offizielle play.tailwindcss.com ist leistungsfähiger - es unterstützt ein benutzerdefiniertes tailwind.config.js, Plugin-Importe und teilbare URLs, die den gesamten Playground-Zustand kodieren. Verwende es, wenn du benutzerdefinierte Theme-Werte oder langlebige Share-Links benötigst. CodeSandbox und StackBlitz starten in wenigen Sekunden ein vollständiges Vite + Tailwind-Projekt und ermöglichen das ordnungsgemäße Testen von Plugins, sind aber langsamer zu laden als dieses Werkzeug. Der browsernative Ansatz - eine lokale HTML-Datei mit dem Play CDN-Skript - ist eine viable Offline-Alternative. Wähle diesen Playground, wenn du eine einrichtungsfreie Erkundung von Standard-Tailwind-Utilities möchtest; wähle das offizielle Play, wenn du eine benutzerdefinierte Konfiguration benötigst; wähle eine echte Sandbox, wenn du ein Plugin bündeln oder eine TypeScript-Integration testen möchtest.
Häufig gestellte Fragen
Ist das dasselbe wie play.tailwindcss.com?
Es ist dasselbe zugrunde liegende Play CDN und daher derselbe Utility-Set, aber die Hülle ist anders. Das offizielle Play unterstützt einen eigenen <code>tailwind.config.js</code>-Tab, offizielles Plugin-Autoladen und Permalink-Sharing. Dieser Playground ist einfacher und meinungsstarker - er ist ideal für schnelle Experimente, aber wenn du ein Produktionsprojekt mit benutzerdefinierten Theme-Farben oder Plugins wie <code>@tailwindcss/forms</code> abbilden möchtest, stößt du an seine Grenzen.
Warum gibt es eine 300-Millisekunden-Verzögerung vor der Vorschau-Aktualisierung?
Die Editor-Eingabe wird verzögerungsgesteuert, sodass das Neuaufbauen des iframes - Parsen des neuen srcdoc, Starten der Tailwind-Play-Engine und Scannen des Markups nach Utility-Klassen - erst nach einer Tipp-Pause erfolgt. Ohne diese Verzögerung würde jeder Tastendruck ein vollständiges iframe-Neuladen auslösen, was sowohl visuell störend als auch insgesamt viel langsamer wäre als das Bündeln. 300 ms ist der übliche "Wortende"-Schwellenwert und fühlt sich nahezu sofortig an.
Kann ich Dark-Mode-Varianten verwenden?
Ja. Die <code>dark:</code>-Variante funktioniert über die Standard- <code>media</code>-Strategie, die das <code>prefers-color-scheme</code> des iframes liest. Das iframe erbt die Präferenz des übergeordneten Browsers, sodass das Umschalten des Betriebssystem- oder Browser-Themas die Vorschau umschaltet. Zum expliziten Testen umschließe dein Markup in einem übergeordneten div mit <code>class="dark"</code> und wechsle Tailwind zur <code>class</code>-Strategie - aber das Play CDN führt nur die Standard-Media-Strategie aus, daher brauchst du für klassenbasiertes Testen den offiziellen Play Playground.
Warum wirken manche Klassen nicht?
Drei häufige Ursachen. Erstens: Die Klasse gehört zu einem Plugin, das vom Play CDN nicht geladen wird. Zweitens: Die Klasse wurde in einer neueren Tailwind-Version als der CDN-Version hinzugefügt. Drittens: Du hast einen Tippfehler, der verhindert, dass die JIT-Engine das Muster erkennt - die Play-Engine verwirft nicht erkannte Klassennamen still anstatt eine Warnung auszugeben. Öffne DevTools im iframe (Rechtsklick, Untersuchen) und prüfe, ob die Klasse im ausgegebenen Stylesheet erscheint.
Werden beliebige Wertklassen unterstützt?
Ja. Eckklammer-Beliebigwerte wie <code>bg-[#14b8a6]</code>, <code>grid-cols-[280px_1fr]</code>, <code>w-[calc(100%-1rem)]</code> funktionieren hier alle, weil die JIT-Engine dieselbe ist, die mit Tailwind v3 ausgeliefert wird. Ein Hinweis: Die Klammern können keine Leerzeichen enthalten, es sei denn, es sind Unterstriche (Tailwind behandelt <code>_</code> innerhalb von Beliebigwerten als Leerzeichen), sodass <code>font-[Helvetica_Neue]</code> der korrekte Weg ist, um eine mehrteilige Schriftfamilie anzugeben.
Kann ich JavaScript einbinden?
Du kannst <code><script></code>-Tags in dein Markup einfügen, und das iframe wird sie ausführen, da die Sandbox <code>allow-scripts</code> enthält. Jeder Zustand, den du aufbaust, wird jedoch bei jedem 300ms-entprellten Neuladen zurückgesetzt, sodass interaktive Demos ihren Zustand bei jeder Bearbeitung verlieren. Für das Testen von Alpine.js, htmx oder Vanilla-DOM-Skripten ist der Playground in Ordnung, solange du keinen persistenten Zustand zwischen Bearbeitungen benötigst.
Kann ich CSS-Variablen oder benutzerdefiniertes CSS verwenden?
Inline-<code><style></code>-Tags funktionieren in deinem Markup, was der sauberste Weg ist, benutzerdefinierte CSS-Variablen hinzuzufügen oder Utilities zu überschreiben. Tailwinds eigenes CSS wird zuerst vom Play CDN geladen, dann cascadet dein Inline-Stil darüber. Für einmalige Beliebigwert-Utilities, die auf eine Variable verweisen, verwende das Muster <code>bg-[var(--my-color)]</code> - das ist eine v3-Funktion und funktioniert im Playground.
Wird mein HTML hochgeladen?
Nein. Editor und Vorschau befinden sich beide im Browser - die übergeordnete Seite ist eine Preact-Komponente, die den HTML-String im React-Zustand hält, und das iframe wird aus einem im-Speicher konstruierten <code>srcdoc</code> erstellt. Die einzige externe Anfrage, die das iframe stellt, ist das Tailwind-CDN-Skript. Dein Markup wird nicht protokolliert, nicht übertragen und nicht geteilt.
Funktioniert das offline?
Teilweise. Die Playground-Shell wird geladen und der Editor funktioniert, aber die iframe-Vorschau benötigt das Tailwind Play CDN-Skript, um Utility-Klassen auszuwerten. Ohne Netzwerkzugriff rendert das iframe dein HTML als unstyled Inhalt. Wenn du ein Offline-Setup benötigst, kopiere das Play CDN-Skript in dein eigenes Asset-Verzeichnis und hoste es lokal.
Warum ist das Responsive-Breakpoint-Verhalten anders als in der Produktion?
Tailwinds <code>sm:</code>, <code>md:</code> und <code>lg:</code> Utilities passen zur Breite des Vorschau-iframes, das ist die Breite des rechten Bereichs - typischerweise 400 bis 900 Pixel. Auf einem breiten Monitor befindet sich die Vorschau bereits im <code>lg</code>-Bereich, sodass <code>sm:</code>-Varianten nicht so aktiviert werden wie auf einem Telefon. Verwende den gestapelten Layout-Schalter, um die Vorschaubreite beim Testen mobiler Stile zu verkleinern, oder öffne DevTools und verwende den Geräte-Emulator am iframe.
Ist das ein Tailwind Play / Online Tailwind Editor?
Ja. "Tailwind Play", "Tailwind Playground", "Online Tailwind Editor" und "Tailwind CSS Playground" beschreiben alle dieselbe Art von Werkzeug: ein Browserfenster, das Tailwind Utility-Klassen bei der Eingabe hot-reloaded. Diese Seite liefert die Tailwind Play CDN-Engine in einem sandboxed iframe, sodass jede offizielle Utility aus Tailwind v3 - einschließlich Beliebigwerten und <code>dark:</code>-Varianten - ohne lokale Installation funktioniert. Wenn du Plugins oder ein benutzerdefiniertes <code>tailwind.config.js</code> benötigst, ist das offizielle play.tailwindcss.com der nächste Schritt; für layoutspezifische Experimente sieh dir unseren <a href="/tools/flexbox-playground/">Flexbox-Playground</a> oder den <a href="/tools/css-grid-generator/">CSS-Grid-Generator</a> an.
Verwandte Tools
- Markdown-Vorschau
Markdown schreiben und gerendertes HTML in einer Live-Split-Pane-Vorschau sehen.
- Flexbox-Spielplatz
CSS-Flexbox-Layouts visuell erstellen mit Live-Vorschau und kopierfähiger CSS-Ausgabe.
- Code-Screenshot
Schöne Code-Snippet-Bilder mit anpassbaren Themes erstellen.
- CSS-Grid-Generator
CSS-Grid-Layouts visuell erstellen mit Live-Vorschau. Funktioniert als Grid-System-Generator und HTML-Grid-Generator.
- CSS-Box-Shadow-Generator
CSS-Box-Shadows visuell erstellen. CSS-box-shadow-Generator, Schatten-Maker und Box-Shadow-Builder mit Live-Vorschau, Mehr-Ebenen-Support und Material-Elevation-Voreinstellungen.
- Audio-Wellenform-Generator
Erstelle ein SoundCloud-artiges Wellenformbild aus einer Audiodatei. Im Browser dekodiert, als PNG oder SVG exportiert.
Mehr Developer Tools
AI Token Counter
Count tokens for GPT-4o, Claude, and Gemini models instantly.
Open toolBase64 Encoder & Decoder
Encode UTF-8 text to Base64 online or decode Base64 back to UTF-8 and plain text. Runs in your browser with no upload.
Open toolBulk URL Encode / Decode
Encode or decode many URLs at once. Paste a newline-separated list and the tool processes each line in parallel, preserving order and blank lines.
Open toolchmod Calculator
Calculate and convert Unix file permission modes between octal and symbolic.
Open toolCode Screenshot
Create beautiful code snippet images with customizable themes.
Open toolColor Converter
Convert colors between HEX, RGB, HSL and CMYK formats.
Open tool