Floating labels
Maak prachtig eenvoudige formulierlabels die over je invoervelden zweven.
Voorbeeld
Wikkel een paar bestaande uit <input class="form-control"> en <label> in .form-floating om floating labels bij de tekstuele formuliervelden van Bootstrap in te schakelen. Op elke <input> is een placeholder verplicht, omdat onze methode voor floating labels met alleen CSS het pseudo-element :placeholder-shown gebruikt. Let er ook op dat de <input> eerst moet komen, zodat we een sibling-selector (bijv. ~) kunnen gebruiken.
<div class="form-floating mb-3">
<input type="email" class="form-control" id="floatingInput" placeholder="naam@voorbeeld.nl">
<label for="floatingInput">E-mailadres</label>
</div>
<div class="form-floating">
<input type="password" class="form-control" id="floatingPassword" placeholder="Wachtwoord">
<label for="floatingPassword">Wachtwoord</label>
</div>Wanneer er al een value is gedefinieerd, passen <label>s zich automatisch aan naar hun zwevende positie.
<form class="form-floating">
<input type="email" class="form-control" id="floatingInputValue" placeholder="naam@voorbeeld.nl" value="test@example.com">
<label for="floatingInputValue">Input met waarde</label>
</form>Ook formuliervalidatiestijlen werken zoals verwacht.
<form class="form-floating">
<input type="email" class="form-control is-invalid" id="floatingInputInvalid" placeholder="naam@voorbeeld.nl" value="test@example.com">
<label for="floatingInputInvalid">Ongeldige input</label>
</form>Textareas
Standaard hebben <textarea>s met .form-control dezelfde hoogte als <input>s.
<div class="form-floating">
<textarea class="form-control" placeholder="Laat hier een opmerking achter" id="floatingTextarea"></textarea>
<label for="floatingTextarea">Opmerkingen</label>
</div>Gebruik het rows-attribuut niet om een eigen hoogte op je <textarea> in te stellen. Stel in plaats daarvan een expliciete height in (inline of via eigen CSS).
<div class="form-floating">
<textarea class="form-control" placeholder="Laat hier een opmerking achter" id="floatingTextarea2" style="height: 100px"></textarea>
<label for="floatingTextarea2">Opmerkingen</label>
</div>Selects
Behalve op .form-control zijn floating labels alleen beschikbaar op .form-selects. Ze werken op dezelfde manier, maar anders dan bij <input>s tonen ze het <label> altijd in zijn zwevende positie. Selects met size en multiple worden niet ondersteund.
<div class="form-floating">
<select class="form-select" id="floatingSelect" aria-label="Voorbeeld van select met floating label">
<option selected>Open dit selectiemenu</option>
<option value="1">Een</option>
<option value="2">Twee</option>
<option value="3">Drie</option>
</select>
<label for="floatingSelect">Werkt met selects</label>
</div>Alleen-lezen platte tekst
Floating labels ondersteunen ook .form-control-plaintext, wat handig kan zijn om van een bewerkbare <input> naar een waarde in platte tekst te schakelen zonder de paginalayout te beïnvloeden.
<div class="form-floating mb-3">
<input type="email" readonly class="form-control-plaintext" id="floatingEmptyPlaintextInput" placeholder="naam@voorbeeld.nl">
<label for="floatingEmptyPlaintextInput">Lege input</label>
</div>
<div class="form-floating mb-3">
<input type="email" readonly class="form-control-plaintext" id="floatingPlaintextInput" placeholder="naam@voorbeeld.nl" value="naam@voorbeeld.nl">
<label for="floatingPlaintextInput">Input met waarde</label>
</div>Input groups
Floating labels ondersteunen ook .input-group.
<div class="input-group mb-3">
<span class="input-group-text">@</span>
<div class="form-floating">
<input type="text" class="form-control" id="floatingInputGroup1" placeholder="Gebruikersnaam">
<label for="floatingInputGroup1">Gebruikersnaam</label>
</div>
</div>Wanneer je .input-group en .form-floating samen met formuliervalidatie gebruikt, hoort de -feedback buiten de .form-floating maar binnen de .input-group te staan. Dat betekent dat de feedback met JavaScript getoond moet worden.
<div class="input-group has-validation">
<span class="input-group-text">@</span>
<div class="form-floating is-invalid">
<input type="text" class="form-control is-invalid" id="floatingInputGroup2" placeholder="Gebruikersnaam" required>
<label for="floatingInputGroup2">Gebruikersnaam</label>
</div>
<div class="invalid-feedback">
Kies een gebruikersnaam.
</div>
</div>Layout
Wanneer je met het grid-systeem van Bootstrap werkt, plaats formulierelementen dan binnen kolomklassen.
<div class="row g-2">
<div class="col-md">
<div class="form-floating">
<input type="email" class="form-control" id="floatingInputGrid" placeholder="naam@voorbeeld.nl" value="mdo@example.com">
<label for="floatingInputGrid">E-mailadres</label>
</div>
</div>
<div class="col-md">
<div class="form-floating">
<select class="form-select" id="floatingSelectGrid">
<option selected>Open dit selectiemenu</option>
<option value="1">Een</option>
<option value="2">Twee</option>
<option value="3">Drie</option>
</select>
<label for="floatingSelectGrid">Werkt met selects</label>
</div>
</div>
</div>Sass
Variabelen
Standaardwaarden: zie scss/_variables.scss in de Bootstrap-broncode.