CSS-Formular-Generator
Formulare sind der am häufigsten berührte Teil der meisten Websites und der am wenigsten ausgefeilte Teil vieler. Dieser Generator erzeugt das CSS für ein vollständig gestaltetes Formular: ein responsives Formularraster, Label- und Eingabepaare, Textbereiche, Auswahlfelder und sichtbare Fokus-Zustände in einem einheitlichen visuellen Stil. Legen Sie Akzentfarbe, Eckenradius und Abstand fest und kopieren Sie dann das Stylesheet. Das CSS behält die native Formularsemantik bei, sodass Validierung, Tastaturnutzung und Screenreader funktionieren.
So verwenden Sie den Generator
-
1
Akzentfarbe festlegen
Die Akzentfarbe bestimmt den Fokus-Rahmen und die Rahmenfarbe jedes Felds.
-
2
Eckenradius wählen
Der Radius gilt für Eingabefelder, Textbereiche und Auswahlfelder, damit alle ein einheitliches Erscheinungsbild haben.
-
3
Abstand festlegen
Der Abstand steuert den vertikalen Zwischenraum zwischen den Feldern im Formularraster.
-
4
CSS kopieren
Ein komplettes Stylesheet, das Sie einfügen und anpassen können, ohne Ihr HTML zu ändern.
Das Basisformular
<form class="form">
<label class="field">
<span class="field-label">E-Mail</span>
<input type="email" required>
<span class="field-error">Bitte geben Sie eine gültige E-Mail-Adresse ein.</span>
</label>
<label class="field">
<span class="field-label">Passwort</span>
<input type="password" minlength="8" required>
</label>
<button type="submit" class="button">Anmelden</button>
</form>
.field {
display: block;
margin-bottom: 1.25rem;
}
.field-label {
display: block;
font-weight: 500;
margin-bottom: .25rem;
}
.field input {
width: 100%;
padding: .5rem .75rem;
font: inherit;
border: 1px solid #d1d5db;
border-radius: 6px;
background: #fff;
transition: border-color 120ms, box-shadow 120ms;
}
.field input:focus-visible {
outline: none;
border-color: #2563eb;
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.field input:invalid:not(:placeholder-shown) {
border-color: #dc2626;
}
.field-error { display: none; color: #dc2626; font-size: .875rem; margin-top: .25rem; }
.field input:invalid:not(:placeholder-shown) ~ .field-error { display: block; }
Vier gängige Stile
| Stil | Was es ist | Am besten geeignet |
|---|---|---|
| Umrandet | Rand um Eingabe, transparenter Hintergrund | Desktop-Formulare, dichte Layouts |
| Unterstrichen | Nur ein unterer Rand | Minimal / redaktionelles UI |
| Gefüllt | Grauer Hintergrund, kein Rand | Material Design-inspiriertes UI |
| Schwebendes Label | Label sitzt innen, animiert beim Fokus/Wert | Mobile-first, Landing Pages |
Schwebendes Label ist am schönsten, erfordert jedoch zusätzliches Markup oder JavaScript, um den leeren Zustand zu erkennen. Umrandet ist am universellsten.
Barrierefreiheits-Checkliste
- Sichtbares Label für jedes Eingabefeld. Verwenden Sie niemals Platzhalter als einziges Label, es verschwindet beim Fokus und erfüllt nicht die Kontrastanforderungen.
<label for>oder umschließendes<label>. Beides ist gültig; das Umschließen ist etwas einfacher.- Fokusindikator. Verwenden Sie niemals
outline: noneohne Ersatz. Tastaturnutzer benötigen ihn. - Fehlermeldungen: verlinken Sie sie über
aria-describedbyauf dem Eingabefeld. Verwenden Sie nicht nur Farbe, um Fehler zu kennzeichnen, fügen Sie eine Textnachricht oder ein Symbol hinzu. - Erforderliche Felder: verwenden Sie das Attribut
required. Fügen Sie ein visuelles Zeichen (Sternchen) im Label für sehende Benutzer hinzu. - Eingabetypen: verwenden Sie
type="email",type="tel",type="url",type="number". Mobile Tastaturen passen sich an. autocomplete-Attribute:autocomplete="email",autocomplete="current-password", usw. Spart den Benutzern viel Tipparbeit.
Native Validierungszustände (browsereigen)
CSS hat Pseudo-Klassen für die Formularvalidität:
:required/:optional:valid/:invalid:in-range/:out-of-range(für numerische Eingaben mit min/max):placeholder-shown(leer, Platzhalter sichtbar):user-invalid(ungültig und Benutzer hat interagiert, die richtige für Fehlerstile)
Die Pseudo-Klasse :user-invalid ist der sauberste Weg, um Fehler nur anzuzeigen, nachdem der Benutzer etwas getan hat, und vermeidet rote Ränder vor der Interaktion. Unterstützung wurde 2023 in allen großen Browsern eingeführt.
Deaktivierter Zustand
.field input:disabled {
background: #f3f4f6;
color: #9ca3af;
cursor: not-allowed;
}
Deaktivierte Eingaben sind nicht fokussierbar oder absendbar. Wenn Sie möchten, dass sie für Screenreader fokussierbar sind, verwenden Sie stattdessen readonly, das Formular sendet den Wert, aber der Benutzer kann ihn nicht bearbeiten.
Häufig gestellte Fragen
Nein. Platzhalter verschwinden, sobald der Benutzer tippt, sodass sie nicht als Labels dienen können. Außerdem hat Platzhaltertext typischerweise einen niedrigen Kontrast und erfüllt nicht die WCAG. Verwenden Sie ein sichtbares Label plus einen optionalen Platzhalter für Format-Hinweise.
Weil :invalid sofort auf leere erforderliche Felder angewendet wird. Verwenden Sie :user-invalid (interaktionsbewusst) oder kombinieren Sie :invalid:not(:placeholder-shown) als Workaround in älteren Browsern.
Setzen Sie appearance: none, entfernen Sie den Standardpfeil, fügen Sie Ihren eigenen über ein Hintergrundbild oder ein umschließendes Span mit einem Pseudo-Element-Pfeil hinzu. Die Optionslisten bleiben OS-stilisiert und können nicht mit CSS angepasst werden.
Beides. Die HTML-Validierung (required, type, pattern) erfasst einfache Fälle ohne JavaScript. JavaScript behandelt komplexe Regeln (Passwortstärke, Abhängigkeiten zwischen Feldern). Validieren Sie immer auch auf dem Server, die clientseitige Validierung dient der Benutzererfahrung, nicht der Sicherheit.
Verwandte Tools
ASCII-Tabelle Referenz
Vollständige ASCII-Tabelle von 0 bis 127 mit Dezimal-, Hex-, Oktal-, Binär- und numerischer HTML-Zeichenreferenz für jedes Zeichen, einschließlich Steuerzeichen wie NUL, LF und DEL.
Referenz für Tastenkombinationen
Durchsuchen Sie dokumentierte Standardkürzel für VS Code, Chrome und Bash mit GNU Readline unter macOS, Windows und Linux.
HTML-Zeichenreferenz
Durchsuchbare Liste von HTML-Entitäten, ihren benannten und numerischen Codes sowie eine Ein-Klick-Kopie für Sonderzeichen und Symbole.
Zufallsbuchstaben-Generator
Erzeugen Sie zufällige A-Z-Buchstaben. Wählen Sie Anzahl, Großschreibung, Kleinschreibung oder gemischte Schreibweise für Spiele, Aufgaben und Unterricht.
Telefonnummern prüfen
Prüfen Sie die Struktur von Telefonnummern nach Land und zeigen Sie Region, Typ sowie E.164-, internationale, nationale und RFC-3966-Formate an.
HAR-Datei-Viewer
HAR-Netzwerkaufzeichnungen lokal öffnen, Anfragen filtern, maskierte Header und Zeitwerte prüfen und bereinigte Zusammenfassungen exportieren.