Bootstrap 4 niestandardowe formularze
Bootstrap 4 niestandardowe formularze
Bootstrap 4 zawiera niestandardowe elementy formularzy, które mają zastąpić domyślne ustawienia przeglądarki:
Zakres niestandardowy:
Zakres domyślny:
Niestandardowe pole wyboru
Aby utworzyć niestandardowe pole wyboru, zawiń element kontenera, taki jak <div>, klasą .custom-control
i .custom-checkbox
wokół pola wyboru. Następnie dodaj .custom-control-input
do wejścia z typem = "pole wyboru".
Porada: Jeśli używasz etykiet do towarzyszącego tekstu, dodaj do .custom-control-label
niego klasę. Zwróć uwagę, że wartość atrybutu for powinna odpowiadać identyfikatorowi pola wyboru:
Przykład
<form>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customCheck"
name="example1">
<label class="custom-control-label" for="customCheck">Check this custom
checkbox</label>
</div>
</form>
Przełącznik niestandardowy
Aby utworzyć niestandardowy „przełącznik”, otocz element kontenera, taki jak <div>, klasą .custom-control
i .custom-switch
wokół pola wyboru. Następnie dodaj .custom-control-input
klasę do pola wyboru:
Przykład
<form>
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="switch1">
<label class="custom-control-label" for="switch1">Toggle me</label>
</div>
</form>
Niestandardowe przyciski radiowe
Aby utworzyć niestandardowy przycisk radiowy, zawiń element kontenera, taki jak <div>, klasą .custom-control
i .custom-radio
wokół przycisku radiowego. Następnie dodaj .custom-control-input
do wejścia z typem = "radio".
Porada: Jeśli używasz etykiet do towarzyszącego tekstu, dodaj do .custom-control-label
niego klasę. Zauważ, że wartość atrybutu for powinna odpowiadać identyfikatorowi radia:
Przykład
<form>
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="customRadio"
name="example1" value="customEx">
<label
class="custom-control-label" for="customRadio">Custom radio</label>
</div>
</form>
Wbudowane kontrolki formularzy niestandardowych
Jeśli chcesz, aby niestandardowe kontrolki formularza znajdowały się obok siebie (w linii), dodaj .custom-control-inline
do opakowania/kontenera:
Przykład
<form>
<div class="custom-control custom-radio
custom-control-inline">
<input type="radio" class="custom-control-input" id="customRadio"
name="example" value="customEx">
<label
class="custom-control-label" for="customRadio">Custom radio
1</label>
</div>
<div class="custom-control custom-radio
custom-control-inline">
<input type="radio" class="custom-control-input" id="customRadio2"
name="example" value="customEx">
<label
class="custom-control-label" for="customRadio2">Custom radio
2</label>
</div>
</form>
Niestandardowe menu wyboru
Aby utworzyć niestandardowe menu wyboru, dodaj .custom-select
klasę do elementu <select>:
Przykład
<form>
<select name="cars" class="custom-select">
<option selected>Custom Select Menu</option>
<option
value="volvo">Volvo</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
</form>
Niestandardowy rozmiar menu wyboru
Użyj .custom-select-sm
klasy, aby utworzyć małe menu wyboru, a .custom-select-lg
klasę dla dużego:
Przykład
<form>
<!-- Small -->
<select name="cars" class="custom-select-sm">
<option selected>Small Custom Select Menu</option>
<option
value="volvo">Volvo</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
<!-- Large -->
<select name="cars" class="custom-select-lg">
<option selected>Large Custom Select Menu</option>
<option
value="volvo">Volvo</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
</form>
Zakres niestandardowy
Aby utworzyć niestandardowe menu zakresu, dodaj .custom-range
klasę do danych wejściowych z typem="<range>":
Przykład
<form>
<label for="customRange">Custom range</label>
<input type="range" class="custom-range" id="customRange" name="points1">
</form>
Przesyłanie plików niestandardowych
Aby utworzyć niestandardowe przesyłanie pliku, owiń element kontenera klasą .custom-file
wokół danych wejściowych z typem="file". Następnie dodaj .custom-file-input
do tego.
Porada: Jeśli używasz etykiet do towarzyszącego tekstu, dodaj do .custom-file-label
niego klasę. Zwróć uwagę, że wartość atrybutu for powinna odpowiadać identyfikatorowi pola wyboru:
Pamiętaj, że musisz również dołączyć trochę kodu jQuery, jeśli chcesz, aby nazwa pliku pojawiała się po wybraniu konkretnego pliku:
Przykład
<form>
<div class="custom-file">
<input
type="file" class="custom-file-input" id="customFile">
<label class="custom-file-label" for="customFile">Choose file</label>
</div>
</form>
<script>
// Add the following code if
you want the name of the file appear on select
$(".custom-file-input").on("change", function() {
var fileName =
$(this).val().split("\\").pop();
$(this).siblings(".custom-file-label").addClass("selected").html(fileName);
});
</script>