CSS-formuliergenerator
Formulieren zijn het onderdeel waar bezoekers op de meeste sites het meest mee bezig zijn, en tegelijk het minst verzorgde deel van veel sites. Deze generator produceert de CSS voor een volledig gestileerd formulier: een responsief formuliergrid, label-invoerparen, tekstvelden, keuzelijsten en zichtbare focusstatussen, allemaal in één consistente visuele stijl. Stel de accentkleur, hoekradius en speling in en kopieer vervolgens het stylesheet. De CSS behoudt de native formuliersemantiek, zodat validatie, toetsenbordgebruik en schermlezers allemaal werken.
Hoe gebruikt u de generator?
-
1
Stel de accentkleur in
De accentkleur bepaalt de focusring en de randkleur van elk veld.
-
2
Kies de hoekradius
De radius geldt voor invoervelden, tekstvelden en keuzelijsten, zodat ze allemaal dezelfde vorm krijgen.
-
3
Stel de speling in
De speling bepaalt de verticale afstand tussen de velden in het formuliergrid.
-
4
Kopieer de CSS
Een compleet stylesheet dat u kunt plakken en aanpassen, zonder uw HTML te wijzigen.
Het basisformulier
<form class="form">
<label class="field">
<span class="field-label">Email</span>
<input type="email" required>
<span class="field-error">Please enter a valid email.</span>
</label>
<label class="field">
<span class="field-label">Password</span>
<input type="password" minlength="8" required>
</label>
<button type="submit" class="button">Sign up</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 veelvoorkomende stijlen
| Stijl | Wat het is | Ideaal voor |
|---|---|---|
| Omlijnd | Rand rond het invoerveld, transparante achtergrond | Desktopformulieren, dichte lay-outs |
| Onderstreept | Alleen een onderrand | Minimalistische/redactionele UI |
| Gevuld | Grijze achtergrond, geen rand | UI geïnspireerd op Material Design |
| Zwevend label | Het label staat binnenin en beweegt bij focus of waarde omhoog | Mobile-first, landingspagina’s |
Het zwevende label is het mooiste, maar vereist extra markup of JavaScript om de lege status te detecteren. Omlijnd is het meest universeel.
Controlelijst voor toegankelijkheid
- Een zichtbaar label voor elk invoerveld. Gebruik nooit een placeholder als enige label; die verdwijnt bij focus en voldoet niet aan de contrasteisen.
<label for>of een omsluitend<label>. Beide zijn geldig; de omsluitende variant is iets eenvoudiger.- Focusindicator. Gebruik nooit
outline: nonezonder een vervanging. Toetsenbordgebruikers hebben die nodig. - Foutmeldingen: koppel ze via
aria-describedbyaan het invoerveld. Geef fouten niet alleen met kleur aan; voeg een tekstmelding of pictogram toe. - Verplichte velden: gebruik het attribuut
required. Voeg voor ziende gebruikers een visuele markering (asterisk) toe aan het label. - Invoertypen: gebruik
type="email",type="tel",type="url",type="number". Mobiele toetsenborden passen zich hierop aan. autocomplete-attributen:autocomplete="email",autocomplete="current-password", enz. Dit bespaart gebruikers veel typwerk.
Native validatiestatussen
CSS heeft pseudo-klassen voor formuliervaliditeit:
:required/:optional:valid/:invalid:in-range/:out-of-range(voor numerieke invoer met minimum en maximum):placeholder-shown(leeg; plaatsingsvak zichtbaar):user-invalid(ongeldig en heeft de gebruiker ingevoerd, het juiste exemplaar voor foutstijlen)
De :user-invalid-pseudo-klasse is de meest nauwkeurige manier om fouten alleen te tonen nadat de gebruiker een actie heeft uitgevoerd, waardoor rode randen voorafgaand aan interactie worden vermeden. De ondersteuning werd rond 2023 beschikbaar gesteld in alle belangrijke versies.
Uitgeschakelde status
.field input:disabled {
background: #f3f4f6;
color: #9ca3af;
cursor: not-allowed;
}
Uitgeschakelde invoervelden kunnen geen focus krijgen en worden niet verzonden. Wilt u ze toch focusbaar houden voor schermlezers, gebruik dan readonly: het formulier verstuurt de waarde wel, maar de gebruiker kan die niet bewerken.
Veelgestelde vragen
Nee. Placeholders verdwijnen zodra de gebruiker begint te typen, waardoor ze niet als label kunnen dienen. Bovendien heeft placeholder-tekst meestal weinig contrast en voldoet die niet aan de WCAG-eisen. Gebruik een zichtbaar label plus een optionele placeholder voor formataanwijzingen.
Aangezien :invalid direct van toepassing is op lege vereiste velden, moet u :user-invalid (interactiebewust) gebruiken of :invalid:not(:placeholder-shown) combineren als een omgangsmethode in oudere browsers.
Stel appearance: none in, verwijder de standaard pijl en voeg uw eigen pijl toe met behulp van een achtergrondafbeelding of een omvattend element met een pijl als pseudo-element. De optielijsten binnen blijven in het standaarduitvoeringsstijl van het besturingssysteem en kunnen niet worden aangepast met CSS.
Allebei. HTML-validatie (required, type, pattern) vangt eenvoudige gevallen op zonder JavaScript; JavaScript verwerkt complexe regels (zoals wachtwoordsterkte en afhankelijkheden tussen velden). Valideer altijd ook aan de serverkant – validatie aan de clientkant is voor de gebruikerservaring, niet voor de beveiliging.
Gerelateerde tools
JSON naar PHP-array
Zet JSON om naar een PHP-array-literal met korte syntaxis, associatieve/geïndexeerde arrays en geneste structuren, klaar om in een .php-bestand te plakken.
Luhn-algoritme-checker
Controleer de creditcardnummer, IMEI, SIN en andere door Luhn beschermden nummers. Geef een resultaat terug (goed of fout) en toon elke stap van het verdubbelen en het berekenen van de controlesom aan.
ASCII-tabelreferentie
Volledige ASCII-tabel van 0 tot 127 met decimale, hexadecimale, octale en binaire waarden en HTML-numerieke referentienotatie, inclusief control codes zoals NUL, LF en DEL.
Telefoonnummers controleren
Controleer de structuur van telefoonnummers per land en bekijk regio, type en E.164-, internationale, nationale en RFC 3966-notatie.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
ASCII naar binair-converter
Converteer elke ASCII-string naar zijn binaire representatie. Elk teken wordt acht bits, gescheiden door spaties, klaar voor protocoltrace of huiswerk.
Tool beschikbaar in andere talen
- Bộ tạo biểu mẫu CSS [VI]
- CSS-formulärgenerator [SV]
- مولد نماذج CSS [AR]
- CSS 폼 생성기 [KO]
- เครื่องมือสร้างฟอร์ม CSS [TH]
- Générateur de formulaires CSS [FR]
- Pembuat Formulir CSS [ID]
- CSSフォームジェネレーター [JA]
- CSS-Formular-Generator [DE]
- Generador de Formularios CSS [ES]
- Generator formularzy CSS [PL]
- Gerador de Formulário CSS [PT]
- CSS Form Generator [EN]
- Generatore di Moduli CSS [IT]
- Генератор форм CSS [RU]
- CSS Form Üreticisi [TR]
- CSS表单生成器 [ZH]