Input numerico
Controlli per l'inserimento di dati numerici in un form.
L’input di tipo numerico va racchiuso in uno <span>
con classe .input-number
.
L’attributo value=""
deve contenere un valore di default.
La label va posizionata prima del wrapper e, per garantire l’accessibilità del campo, dovrà avere un attributo for=""
corrispondente al nome e id del campo input.
Aggiungendo gli attributi HTML min=""
, max=""
e step=""
all’input è possibile limitare il valore minimo e massimo del campo e decidere di quanto varierà a ogni click sui bottoni.
<label for="inputNumber2" class="input-number-label">Min, Max & Step</label>
<span class="input-number">
<input type="number" id="inputNumber2" name="inputNumber2" value="100" min="-2000" max="15000" step="100" class="">
<button class="input-number-add">
<span class="sr-only">Aumenta valore di 500</span>
</button>
<button class="input-number-sub">
<span class="sr-only">Diminuisci valore di 500</span>
</button>
</span>
Valuta e percentuale
Per anteporre il simbolo della valuta in Euro, aggiungere la classe .input-number-currency
al wrapper .input-number
.
Per anteporre il simbolo percentuale, aggiungere la classe .input-number-percentage
al wrapper .input-number
.
Si consiglia di impostare gli attributi min=0
e max="100"
.
<label for="inputNumber3" class="input-number-label">Valuta</label>
<span class="input-number input-number-currency">
<input type="number" id="inputNumber3" name="inputNumber3" value="3.50" min="0">
<button class="input-number-add">
<span class="sr-only">Aumenta valore Euro</span>
</button>
<button class="input-number-sub">
<span class="sr-only">Diminuisci valore Euro</span>
</button>
</span>
<label for="inputNumber4" class="mt-3 input-number-label">Percentuale</label>
<span class="input-number input-number-percentage">
<input type="number" id="inputNumber4" name="inputNumber4" value="50" min="0" max="100" step="10">
<button class="input-number-add">
<span class="sr-only">Aumenta del 10%</span>
</button>
<button class="input-number-sub">
<span class="sr-only">Diminuisci del 10%</span>
</button>
</span>
Ridimensionamento
È possibile far sì che il campo numerico si ridimensioni automaticamente a
seconda del valore contenuto in esso. Per ottenere questo comportamento, è
sufficiente aggiungere la classe input-number-adaptive
.
<div class="w-100">
<label for="inputNumber6" class="input-number-label">Adattivo</label>
<span class="input-number input-number-adaptive">
<input type="number" data-bs-input id="inputNumber6" name="inputNumber6" value="99999" step="any">
<button class="input-number-add">
<span class="visually-hidden">Aumenta valore</span>
</button>
<button class="input-number-sub">
<span class="visually-hidden">Diminuisci valore</span>
</button>
</span>
</div>