HTML en CSS leren: form, input, label, button en de types van een veld
Formulieren
Wie een kapotte lamp wil laten herstellen, moet Walter nu nog bellen, en hij noteert alles op de achterkant van een bierkaartje. Een formulier op de website zou hem veel bierkaartjes besparen.
Een formulier
Een formulier staat in <form>. Elk veld is een <input>, of een <textarea> voor een langere tekst en een <select> met <option>s voor een keuzelijst. Elk veld krijgt een <label>, de tekst erboven: het for van het label is het id van het veld. Wie op het label tikt, komt in het veld, en een schermlezer leest voor wat er gevraagd wordt.
Met type kies je het soort veld: email voor een e-mailadres (een gsm toont dan een toetsenbord met @), tel voor een telefoonnummer, date en number. Een <button> verstuurt het formulier.
In deze cursus verstuurt een formulier nooit iets: je ziet alleen hoe het eruitziet.
<link rel="stylesheet" href="style.css"><main> <h1>Meld je toestel aan</h1> <form> <label for="naam">Naam</label> <input id="naam" type="text"> <label for="email">E-mail</label> <input id="email" type="email"> <label for="toestel">Toestel</label> <select id="toestel"> <option>Fiets</option> <option>Lamp of broodrooster</option> <option>Kleding</option> <option>Computer</option> </select> <label for="probleem">Wat is er kapot?</label> <textarea id="probleem"></textarea> <button>Aanmelden</button> </form></main>Probeer het zelf
Voeg na het e-mailadres een veld voor je telefoonnummer toe, met het label "Telefoon" en het id telefoon, en zet onderaan een knop "Aanmelden".
<link rel="stylesheet" href="style.css"><main> <form> <label for="naam">Naam</label> <input id="naam" type="text"> <label for="email">E-mail</label> <input id="email" type="email"> </form></main>body { margin: 0; font-family: system-ui, sans-serif; background: #f4f0e8; color: #2a2622;}header { padding: 12px 16px; background: #1f4e5f; color: #ffffff;}header h1 { margin: 0; font-size: 1.5rem;}nav a { padding: 6px 10px; border-radius: 999px; color: #ffffff; text-decoration: none;}main { padding: 0 16px 24px;}.slogan { margin: 16px 0 0; max-width: 40rem;}.tafels { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 16px 0;}.knop { display: inline-block; margin-top: 12px; padding: 10px 18px; border-radius: 999px; background: #d1495b; color: #ffffff; font-weight: 700; text-decoration: none;}/* Een gekleurde rand per tafel en een etiket met een gaatje: alleen voor de sier. */.tafel { padding: 14px 16px 16px; border-top: 4px solid #f2a541; border-radius: 14px; background: #ffffff; box-shadow: 0 1px 2px rgb(42 38 34 / 0.08), 0 8px 18px -12px rgb(42 38 34 / 0.35);}.tafel h2 { margin: 0 0 6px; font-size: 1.1rem;}.tafel p { margin: 0; color: #5b544c;}.fiets { border-top-color: #2a9d8f;}.elektro { border-top-color: #f2a541;}.naai { border-top-color: #d1495b;}.computer { border-top-color: #5b6cae;}.etiket { display: inline-block; margin-bottom: 8px; padding: 3px 10px 3px 16px; border-radius: 4px 999px 999px 4px; background: radial-gradient(circle at 7px 50%, #ffffff 0 2.5px, transparent 3px), #ffd166; color: #3d2c00; font-size: 0.75rem; font-weight: 700;}form { display: grid; gap: 6px; max-width: 28rem; margin: 16px 0;}label { margin-top: 8px; font-weight: 600;}input,select,textarea { padding: 8px 10px; border: 1px solid #b9b0a3; border-radius: 8px; background: #ffffff; color: #2a2622; font: inherit;}button { justify-self: start; margin-top: 12px; padding: 10px 18px; border: 0; border-radius: 999px; background: #1f4e5f; color: #ffffff; font: inherit; font-weight: 700;}footer { padding: 12px 16px; background: #1f4e5f; color: #ffffff;}Klaar voor meer?
De volledige les heeft 5 oefeningen, van makkelijk naar uitdagend, met hints, punten en een reeks die je kan opbouwen.
Begin aan de les