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
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.
HTML-tekenreferentie
Een doorzoekbare lijst met HTML-entiteiten, hun benoemde en numerieke codes, plus kopiëren met één klik voor speciale tekens en symbolen.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
HAR-bestandsviewer
Open HAR-netwerkopnamen lokaal, filter verzoeken, bekijk gemaskeerde headers en timing en exporteer opgeschoonde samenvattingen zonder upload.
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.
Telefoonnummers controleren
Controleer de structuur van telefoonnummers per land en bekijk regio, type en E.164-, internationale, nationale en RFC 3966-notatie.
Tool beschikbaar in andere talen
- CSS 폼 생성기 [KO]
- Bộ tạo biểu mẫu CSS [VI]
- CSS表单生成器 [ZH]
- CSS-Formular-Generator [DE]
- CSS Form Generator [EN]
- Pembuat Formulir CSS [ID]
- CSS-formulärgenerator [SV]
- Generator formularzy CSS [PL]
- مولد نماذج CSS [AR]
- เครื่องมือสร้างฟอร์ม CSS [TH]
- Generador de Formularios CSS [ES]
- Générateur de formulaires CSS [FR]
- Gerador de Formulário CSS [PT]
- CSSフォームジェネレーター [JA]
- CSS Form Üreticisi [TR]
- Generatore di Moduli CSS [IT]
- Генератор форм CSS [RU]