CSS-Button-Generator

Ein CSS-Button-Generator macht aus visuellen Einstellungen eine fertige Regel zum Einfügen. Ein Button braucht nur background-color, color, padding und border-radius; der Rahmen ist optional, und padding wird erst vertikal, dann horizontal geschrieben. Beispiel: padding: 12px 24px; border-radius: 8px; background-color: #2563eb; color: #ffffff ergibt einen abgerundeten blauen Button, dessen Beschriftung mit 5,17:1 die WCAG-Stufe AA erreicht.

Vorschau

Barrierefreiheits-Check

Textkontrast

Gerenderte Größe
px hoch

Anpassen

Schnelle Vorlagen

Generierter Code

Dieses Tool in Ihre Website einbetten

× px

                        

💡 Integrations-Tipp

Kopieren Sie den Einbettungscode und fügen Sie ihn in das HTML Ihrer Website ein. Die responsive Version passt sich automatisch an alle Bildschirmgrößen an.

0 Bewertungen

Beliebte Werkzeuge

Keine weiteren Tools
Alle Tools erkunden

Wie erstellt man einen Button mit CSS?

Legen Sie zuerst die Schriftgröße fest und leiten Sie alles Weitere davon ab. Der vertikale Innenabstand bestimmt die Höhe (Höhe = 2 x vertikaler Innenabstand + 2 x Rahmenbreite + 1,2 x Schriftgröße, der Zeilenabstand, den dieser Generator in jede erzeugte Regel schreibt), der horizontale Innenabstand bestimmt die Breite, und border-radius rundet die Ecken. Die fünf Rezepte unten haben keinen Rahmen, ihr Rahmenanteil ist also null; mit einem 2px-Rahmen wächst jede Höhe in der Tabelle um 4px. Diese fünf Rezepte decken fast jeden Button einer normalen Seite ab.

Übliche CSS-Button-Größen, die von den Reglern erzeugten Deklarationen und die Höhe, in der jede ohne Rahmen dargestellt wird.
Rezept font-size padding border-radius Höhe Typischer Einsatz
Klein 14px 6px 12px 6px 29 px Aktionen in Tabellenzeilen und kompakte Werkzeugleisten
Mittel (Standard) 16px 12px 24px 8px 43 px Formulare, Karten und die meisten Seitenaktionen
Groß 18px 16px 32px 10px 54 px Handlungsaufrufe im Seitenkopf und auf Preisseiten
Pille 16px 12px 28px 50px 43 px Filter-Chips und Marketing-Badges. Jeder Radius über der halben Höhe ergibt dieselbe Form, daher das von Hand geschriebene 999px.
Nur Symbol 16px 12px 12px 8px 43 px Reines Symbolelement: Breite gleich Höhe setzen, damit es quadratisch bleibt, plus ein aria-label

Die Höhen stimmen, weil die Regel line-height: 1.2 festschreibt; ein Button, der einen größeren Zeilenabstand von der umgebenden Seite erbt, wird höher dargestellt, als das Rezept angibt. WCAG 2.2 Erfolgskriterium 2.5.8 Zielgröße (Minimum) verlangt 24 x 24 CSS-Pixel, nennt dafür aber fünf Ausnahmen - ausreichender Abstand um das Ziel, eine gleichwertige Bedienmöglichkeit von mindestens 24 px an anderer Stelle der Seite, ein Ziel innerhalb einer Textzeile, eine vom Browser vorgegebene Größe und eine für die Information wesentliche Größe - und Kriterium 2.5.5 hebt das erweiterte Ziel auf 44 x 44 an. Das Rezept Klein mit 29 px ist damit die Untergrenze und kein sicherer Standardwert.

Wie gestaltet man einen Button bei Hover, Klick und im deaktivierten Zustand?

Ein Button hat fünf Zustände, die eine eigene Gestaltung verdienen, und jeder ist ein eigener Selektor auf derselben Klasse. Die Regeln für Ruhezustand, Hover und Gedrückt stehen immer in der Ausgabe; lassen Sie das Kästchen «Focus- und Disabled-Zustände in den Code aufnehmen» angehakt, dann ergänzt der Generator die beiden übrigen darunter.

CSS-Selektoren für jeden Button-Zustand und die Deklarationen, die dieser Generator dafür mit seinen Standardfarben schreibt. Die Zeile für den Ruhezustand nennt nur die beiden Farbdeklarationen; die vollständige .btn-Regel im erzeugten Code ergänzt Schrift, Zeilenhöhe, Innenabstand, Radius, Rand, Schatten, display, cursor, transition und text-decoration.
Zustand Selektor Erzeugte Deklaration Wozu
Ruhezustand .btn background-color: #4f46e5; color: #ffffff Die Grundfläche, auf der alle anderen Zustände aufbauen.
Hover .btn:hover opacity: 0.9; transform: translateY(-1px) Bestätigt, dass der Zeiger über dem Ziel steht. Der Generator hebt den Button um ein Pixel an und blendet ihn leicht ab. Auf Touchgeräten wirkungslos.
Gedrückt .btn:active transform: translateY(0) Nimmt die Hover-Anhebung zurück, solange der Zeiger gedrückt bleibt, damit sich der Klick wie ein Druck anfühlt.
Tastaturfokus .btn:focus-visible outline: 3px solid #4f46e5; outline-offset: 2px Zeigt Tastaturnutzern, wo sie stehen. Setzen Sie nie outline: none ohne sichtbaren Ersatz.
Deaktiviert .btn:disabled opacity: 0.5; cursor: not-allowed; transform: none Kennzeichnet die Aktion als nicht verfügbar. Das Attribut disabled an einem button blockiert zusätzlich den Klick.

Wie erstellt man einen anklickbaren Button in HTML?

Nehmen Sie ein button-Element, wenn der Klick auf der Seite etwas auslöst: <button type="button" class="btn">Speichern</button> für JavaScript oder type="submit" innerhalb eines Formulars. Nehmen Sie einen Link, wenn der Klick woanders hinführt: <a href="/preise" class="btn">Preise ansehen</a>, damit Mittelklick und «In neuem Tab öffnen» weiter funktionieren. Nur der Link nimmt eine URL, nur der Button nimmt disabled, und ein reines Symbolelement braucht ein aria-label, weil ein Screenreader sonst nichts vorzulesen hat. Beide tragen dieselbe Klasse .btn, deshalb liefert der Reiter HTML + CSS ein button-Element, das Sie mit einer einzigen Änderung zum Link umschreiben können.

Wie macht man einen CSS-Button abgerundet oder ganz rund?

Das erledigt border-radius allein. Vier bis acht Pixel wirken wie ein weiches Rechteck, zwölf bis sechzehn wirken freundlich, und jeder Wert über der halben Buttonhöhe ergibt eine Pille, weil ein für die Box zu großer Radius so weit verkleinert wird, bis sich die beiden Ecken einer Seite gerade berühren — bei einheitlichem Radius also auf die halbe kürzere Seite; 999px ist die übliche Abkürzung für „so rund wie möglich“. Ein echter Kreis braucht gleiche Breite und Höhe plus border-radius: 50%, geben Sie einem Symbolbutton also identischen vertikalen und horizontalen Innenabstand. Bei der Standardschrift von 16px und 12px vertikalem Innenabstand ist der Button rund 43px hoch, der Regler Randradius zeichnet also schon ab 22 eine Pille.

Wie zentriert man einen CSS-Button auf der Seite?

Ein Button ist inline-block, deshalb zentriert ihn text-align: center am Elternelement, ohne am Button selbst etwas zu ändern. Um ihn direkt zu zentrieren, setzen Sie display: block plus margin-inline: auto und eine Breite, oder Sie legen ihn in einen Container mit display: flex; justify-content: center. In einer bestehenden Flex-Zeile schiebt margin-inline-start: auto einen einzelnen Button an den rechten Rand. Die Beschriftung zentriert sich von selbst, solange Sie den Button über den Innenabstand statt über eine feste Höhe dimensionieren - genau das gibt der Generator aus.

Was ist der beste CSS-Button-Generator?

Beurteilen Sie ihn danach, was er Ihnen aushändigt, nicht danach, wie viele Themes er mitbringt. Ein brauchbarer Generator zeigt den Button in seiner echten Größe, macht Innenabstand, Radius, Rahmen und Schatten zu einzelnen Reglern statt zu einem festen Theme, gibt schlichtes CSS ohne zu installierende Framework-Klassen aus und sagt Ihnen, ob das Farbpaar tatsächlich lesbar ist. Diese Seite misst das Kontrastverhältnis nach WCAG 2.2 und meldet die dargestellte Höhe, während Sie an den Reglern ziehen - ein Verstoß fällt also hier auf und nicht erst in einem späteren Barrierefreiheits-Audit.

Was liefert dieser CSS-Button-Generator?

Zweierlei: eine wiederverwendbare Klasse .btn mit Regeln für Hover, Gedrückt, Fokus und Deaktiviert für Ihr Stylesheet, und dieselben Deklarationen inline an einem button-Element für Page-Builder, CMS-Blöcke und E-Mail-Vorlagen, die externes CSS entfernen. Beides ist schlichtes CSS ohne Framework-Klassen, und das Kontrastfeld oben sagt Ihnen schon vor dem Einfügen, ob das Farbpaar die WCAG erfüllt.

Über CSS-Button-Generator

Der CSS-Button-Generator macht aus einer Handvoll Regler und Farbwähler genau die eine CSS-Regel, die ein Button wirklich braucht. Sie legen die Beschriftung fest, Hintergrund- und Textfarbe, Schriftgröße und Schriftstärke, horizontalen und vertikalen Innenabstand, den Eckenradius, Rahmenbreite und Rahmenfarbe sowie eine von vier Schattentiefen; eine optionale zweite Farbe macht aus der flachen Füllung einen linearen Verlauf über 135 Grad. Die Vorschau steht über den Reglern und ist ein echter HTML-Button mit Ihren Werten in der Größe, in der er auf Ihrer Seite erscheinen wird - was Sie hier freigeben, ist genau das, was Sie ausliefern.

Zwei Dinge machen die Ausgabe brauchbar statt dekorativ. Erstens hat der Codebereich zwei Reiter: eine wiederverwendbare Klasse .btn mit den Regeln :hover, :active, :focus-visible und :disabled für Ihr Stylesheet, und dasselbe button-Element mit allem inline im style-Attribut für Page-Builder, CMS-Blöcke und E-Mail-Vorlagen, die externes CSS entfernen. Zweitens misst das Barrierefreiheitsfeld das Farbpaar nach WCAG 2.2 und meldet das Kontrastverhältnis mit dem Urteil AAA, AA oder Verstoß, wobei es auf die Schwellen für großen Text umschaltet, sobald Schriftgröße und -stärke das rechtfertigen. Es meldet außerdem die dargestellte Höhe - zweimal der vertikale Innenabstand, plus zweimal der Rahmen, plus das 1,2-fache der Schriftgröße, der Zeilenabstand, den die Regel festschreibt, damit der Button auf dem Bildschirm exakt so hoch ist wie angegeben - gemessen an den Zielgrößen 24 x 24 und 44 x 44 CSS-Pixel aus den Kriterien 2.5.8 und 2.5.5.

Ein Verlauf wird gegen beide Stopps geprüft, angezeigt wird das schlechtere der beiden Verhältnisse. Die acht Vorlagen - Primär, Gefahr, Erfolg, Umriss, Pillenform, Verlauf, Dezent und Neon - sind Startpunkte und kein Endzustand: eine anklicken und weiter an den Reglern ziehen. Keine Farbe, keine Beschriftung und keine Reglerstellung wird irgendwohin gesendet; Kontrastrechnung, Vorschau und Code entstehen in der Seite selbst, deshalb aktualisiert sich das Verhältnis mit demselben Tastendruck, der den Button neu zeichnet. Was Sie kopieren, ist eine einzige Klasse ohne zu installierendes Framework, ohne Build-Schritt und ohne Laufzeitskript.

Anwendungsfälle

Frontend-Entwickler, die eine reine CSS-Buttonregel für ein Projekt ohne Designsystem brauchen - kein Tailwind, kein Bootstrap, nur .btn und seine Zustände.
Designer, die eine Spezifikation an die Entwicklung übergeben: Regler ziehen, bis die Vorschau dem Entwurf entspricht, und dann exakte Pixelwerte weitergeben statt sie zu beschreiben.
E-Mails und Landingpages, die externe Stylesheets entfernen und jede Deklaration inline im style-Attribut brauchen - genau das gibt der Reiter HTML + CSS aus.
Barrierefreiheitsprüfer, die ein vorgeschlagenes Markenfarbpaar gegenprüfen: Kontrastverhältnis und WCAG-Urteil aktualisieren sich, während Sie die Hex-Codes eintippen.
Lernende und Lehrende, die verstehen wollen, wie padding, border-radius, box-shadow und font-weight zusammenspielen - mit einer Vorschau, die auf jeden einzelnen Regler reagiert.

Anleitung

1

Tragen Sie unter Button-Text die gewünschte Beschriftung ein und legen Sie anschließend Hintergrund- und Textfarbe über die Farbfelder oder durch Eingabe der HEX-Codes daneben fest.

2

Ziehen Sie die Regler für Schriftgröße, Innenabstand horizontal, Innenabstand vertikal und Randradius, um den Button zu formen, und erhöhen Sie für eine Umriss-Optik die Rahmenbreite und wählen Sie eine Randfarbe.

3

Wählen Sie als Schriftstärke Normal, Mittel, Halbfett oder Fett und als Schatten Keine, Klein, Mittel oder Groß.

4

Aktivieren Sie Verlauf und wählen Sie die zweite Farbe, damit der Hintergrund in einen diagonalen Zweifarbverlauf übergeht.

5

Klicken Sie unter Schnelle Vorlagen auf eine Karte wie Primär, Umriss, Pillenform, Verlauf, Dezent oder Neon, um einen fertigen Stil zu laden, den Sie weiter anpassen können.

6

Prüfen Sie den Button im Bereich Vorschau, wechseln Sie bei der Ausgabe zum Reiter CSS oder HTML + CSS und klicken Sie im Codefeld auf das Kopiersymbol.

Profi-Tipps

  • Stellen Sie zuerst die Schriftgröße ein. Innenabstand und Eckenradius lassen sich viel besser beurteilen, wenn die Beschriftung ihre endgültige Größe hat, und die Höhenanzeige (2 x vertikaler Innenabstand + 2 x Rahmenbreite + 1,2 x Schriftgröße) wandert mit.
  • Erst eine Vorlage laden, dann feinjustieren. Umriss und Dezent starten bereits mit einer Rahmenbreite über null - der schnellste Weg zu einem sekundären Button.
  • Tippen Sie Hex-Codes in das Feld neben dem jeweiligen Farbfeld, statt im Farbwähler zu suchen; Vorschau und Kontrastverhältnis aktualisieren sich bei jedem Tastendruck.
  • AA-Kontrast gilt für jede Textgröße; nur der Schwellenwert ändert sich — 4,5:1 für normalen Text, 3:1 ab 24px oder ab 18,66px in Fett. Ein Paar mit 3:1 kann auf einem hellen Monitor gut aussehen und im Freien unlesbar sein; behandeln Sie die niedrigere Grenze also als Obergrenze, nicht als Ziel.
  • Verläufe werden gegen beide Stopps geprüft und das schlechtere Verhältnis wird angezeigt: Fällt nur ein Ende durch, verschieben Sie diesen Stopp, statt den ganzen Button umzufärben.

Fehlerbehebung

Problem:

Das kopierte CSS hat auf meiner Seite keine sichtbare Wirkung.

Lösung:

Die Klasse wird überschrieben oder wurde nie gesetzt. Prüfen Sie, dass das Element class="btn" trägt, laden Sie Ihr Stylesheet nach dem Framework-CSS, und öffnen Sie das Styles-Panel in den Entwicklerwerkzeugen: eine durchgestrichene Deklaration bedeutet, dass ein anderer Selektor durch Spezifität oder Reihenfolge gewinnt.

Problem:

Der Verlauf wirkt flach oder erscheint gar nicht.

Lösung:

Ein Verlauf ist ein Hintergrundbild, keine Hintergrundfarbe. Haken Sie Verlauf an, damit das Werkzeug background: linear-gradient(...) statt background-color ausgibt. Erscheint er weiterhin nicht, suchen Sie nach einer später notierten background-Kurzschreibweise oder einem späteren background-image am selben Element: die Kurzschreibweise setzt background-image auf none zurück und löscht den Verlauf. Eine spätere background-color kann ihn nicht verdecken, denn CSS Backgrounds 3 malt die Farbe unter die Hintergrundbilder.

Problem:

Das Kontrast-Badge meldet einen Verstoß, der Button sieht für mich aber gut aus.

Lösung:

Kontrast wird über die relative Leuchtdichte gemessen, nicht danach, wie kräftig eine Farbe wirkt. Mitteltonpaare wie #f59e0b mit weißem Text landen trotz leuchtender Wirkung bei etwa 2:1. Dunkeln Sie den Hintergrund ab oder stellen Sie die Beschriftung auf Fast-Schwarz um; das Verhältnis aktualisiert sich beim Tippen.

Häufig gestellte Fragen

Schreiben Sie eine einzige Regel für die Klasse und setzen Sie sechs Deklarationen: background-color, color, font-size, font-weight, padding und border-radius. box-shadow und einen Rahmen fügen Sie nur hinzu, wenn das Design es verlangt. Genau diese Regel schreibt der Generator für Sie: Regler ziehen, Live-Vorschau prüfen, dann den .btn-Block aus dem CSS-Reiter in Ihr Stylesheet kopieren.

Der CSS-Reiter liefert eine wiederverwendbare Klasse .btn samt Zustandsregeln zum Einfügen in ein Stylesheet, sodass sich jeder Button der Website ändert, wenn Sie diesen einen Block bearbeiten. Der Reiter HTML + CSS liefert ein einzelnes button-Element mit denselben Deklarationen inline im style-Attribut - genau das brauchen Page-Builder, CMS-Blöcke und E-Mail-Vorlagen, weil sie externe Stylesheets entfernen. Schreiben Sie es zu einem Link mit href um, wenn der Klick navigiert.

Ziehen Sie den Regler Randradius nach oben. Um 8px herum entsteht das weiche Rechteck, das die meisten Oberflächen verwenden, und oberhalb der halben Buttonhöhe verschmelzen die Ecken zur Pille. Mit der Standardschrift von 16px und 12px vertikalem Innenabstand ist der Button 43px hoch, jeder Radius über etwa 22 sieht also bereits vollständig gerundet aus - und 999px in handgeschriebenem CSS bedeutet dasselbe.

Ja. Bei jeder Änderung von Text- oder Hintergrundfarbe berechnet er das WCAG-Kontrastverhältnis neu und zeigt AAA, AA oder einen Verstoß. Normaler Text braucht 4,5:1 für AA und 7:1 für AAA; Text ab 24px, oder ab 18,66px und fett, gilt als groß und braucht nur 3:1 und 4,5:1. Verlaufsfüllungen werden gegen beide Farbstopps gemessen.

Das Größenfeld meldet die dargestellte Höhe als zweimal den vertikalen Innenabstand, plus zweimal die Rahmenbreite, plus das 1,2-fache der Schriftgröße - der Zeilenabstand, den der Generator in der Regel festschreibt, damit die Zahl zu dem darüber gezeichneten Button passt. WCAG 2.2 Kriterium 2.5.8 verlangt ein Ziel von 24 x 24 CSS-Pixeln, Kriterium 2.5.5 hebt es auf 44 x 44 an. Die Standardschrift von 16px mit 12px vertikalem Innenabstand ergibt 43px und übertrifft das Minimum deutlich.

Nehmen Sie button, wenn der Klick auf der aktuellen Seite wirkt: ein Formular absenden, einen Dialog öffnen, JavaScript ausführen. Es ist standardmäßig fokussierbar, löst mit Enter und Leertaste aus und unterstützt das Attribut disabled. Nehmen Sie einen Link mit href, wenn der Klick zu einer anderen URL führt, damit Mittelklick und «In neuem Tab öffnen» weiter funktionieren. Beide können dieselbe Klasse .btn tragen.

Das erzeugte CSS enthält bereits .btn:hover und .btn:active. Lassen Sie das Kästchen «Focus- und Disabled-Zustände in den Code aufnehmen» angehakt, dann kommen .btn:focus-visible mit einem 3px-Umriss und 2px Abstand sowie .btn:disabled mit halber Deckkraft und cursor: not-allowed hinzu. Löschen Sie einen Fokusumriss nie, ohne ihn durch etwas Sichtbares zu ersetzen, sonst verlieren Tastaturnutzer jede Orientierung.

Ja. Die Ausgabe ist schlichtes CSS ohne Lizenz, ohne Namensnennungspflicht und ohne Laufzeitabhängigkeit, und der Hinweiskommentar in der ersten Zeile darf gelöscht werden. Auch hochgeladen wird nichts: Vorschau, erzeugter Code und Kontrastrechnung entstehen per JavaScript in dieser Seite, Ihre Farben und Beschriftungen erreichen also nie einen Server.

Fast immer sind geerbte Stile die Ursache. Ein Framework-Reset, eine font-family vom Elternelement, eine globale button-Regel oder ein Selektor mit höherer Spezifität können die eingefügte Klasse überschreiben. Laden Sie Ihr Stylesheet nach dem Framework-CSS, halten Sie .btn auf einem einzigen Element, und lesen Sie das Styles-Panel der Entwicklerwerkzeuge: eine durchgestrichene Deklaration verrät genau, welcher Selektor gewonnen hat.

Normen und Quellen

FreeWebTools AI
Powered by free AI models · Full chat →