Salta à u cuntenutu principale Salta à a navigazione di documenti
in English

Spinners

Indicate u statu di carica di un cumpunente o di una pagina cù i spinners Bootstrap, custruitu interamente cù HTML, CSS, è senza JavaScript.

À propositu

Bootstrap "spinners" pò esse usatu per vede u statu di carica in i vostri prughjetti. Sò custruiti solu cù HTML è CSS, chì significa chì ùn avete micca bisognu di JavaScript per creà. Averete, però, bisognu di qualchì JavaScript persunalizatu per cambià a so visibilità. U so aspettu, l'allineamentu è a dimensione pò esse facilmente persunalizati cù e nostre classi di utilità incredibili.

Per scopi di accessibilità, ogni caricatore quì include role="status"è un <span class="visually-hidden">Loading...</span>.

L'effettu di l'animazione di stu cumpunente dipende da a prefers-reduced-motionmedia query. Vede a sezione di movimentu ridottu di a nostra documentazione d'accessibilità .

Spinner di cunfini

Aduprate i spinners di cunfini per un indicatore di carica ligera.

Caricamentu...
<div class="spinner-border" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Culori

U spinner di cunfini usa currentColorper u so border-color, chì significa chì pudete persunalizà u culore cù utilità di culore di testu . Pudete utilizà qualsiasi di e nostre utilità di culore di testu nantu à u spinner standard.

Caricamentu...
Caricamentu...
Caricamentu...
Caricamentu...
Caricamentu...
Caricamentu...
Caricamentu...
Caricamentu...
<div class="spinner-border text-primary" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-secondary" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-success" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-danger" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-warning" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-info" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-light" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-dark" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
Perchè ùn aduprà border-colorutilità? Ogni spinner di cunfini specifica un transparentcunfini per almenu un latu, cusì l' .border-{color}utilità anu da annunzià quellu.

Spinner in crescita

Se ùn ti piace micca un spinner di cunfini, cambia à u spinner di crescita. Ancu s'ellu ùn hè micca tecnicamente spin, cresce ripetutamente!

Caricamentu...
<div class="spinner-grow" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Una volta, stu spinner hè custruitu cù currentColor, cusì pudete facilmente cambià a so apparenza cù utilità di culore di testu . Quì hè in blu, cù e varianti supportati.

Caricamentu...
Caricamentu...
Caricamentu...
Caricamentu...
Caricamentu...
Caricamentu...
Caricamentu...
Caricamentu...
<div class="spinner-grow text-primary" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-secondary" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-success" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-danger" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-warning" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-info" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-light" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-dark" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Allineamentu

Spinners in Bootstrap sò custruiti cù rems, currentColor, è display: inline-flex. Questu significa chì ponu esse facilmente ridimensionati, ricolorati è allinati rapidamente.

Margine

Aduprate utilità di marghjini cum'è .m-5per un spaziu faciule.

Caricamentu...
<div class="spinner-border m-5" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Placement

Aduprate l'utilità flexbox , l'utilità float , o l'utilità di allineamentu di testu per mette i spinner esattamente induve ne avete bisognu in ogni situazione.

Flex

Caricamentu...
<div class="d-flex justify-content-center">
  <div class="spinner-border" role="status">
    <span class="visually-hidden">Loading...</span>
  </div>
</div>
Caricamentu...
<div class="d-flex align-items-center">
  <strong>Loading...</strong>
  <div class="spinner-border ms-auto" role="status" aria-hidden="true"></div>
</div>

Flotti

Caricamentu...
<div class="clearfix">
  <div class="spinner-border float-end" role="status">
    <span class="visually-hidden">Loading...</span>
  </div>
</div>

Allineate u testu

Caricamentu...
<div class="text-center">
  <div class="spinner-border" role="status">
    <span class="visually-hidden">Loading...</span>
  </div>
</div>

Taglia

Aghjunghjite .spinner-border-smè .spinner-grow-smper fà un spinner più chjucu chì pò esse rapidamente utilizatu in altri cumpunenti.

Caricamentu...
Caricamentu...
<div class="spinner-border spinner-border-sm" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow spinner-grow-sm" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Or, utilizate CSS persunalizati o stili inline per cambià e dimensioni cum'è necessariu.

Caricamentu...
Caricamentu...
<div class="spinner-border" style="width: 3rem; height: 3rem;" role="status">
  <span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow" style="width: 3rem; height: 3rem;" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Bottoni

Aduprate spinners in i buttoni per indicà chì un'azzione hè attualmente in elaborazione o in corso. Pudete ancu scambià u testu fora di l'elementu spinner è aduprà u testu di u buttone quantu necessariu.

<button class="btn btn-primary" type="button" disabled>
  <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
  <span class="visually-hidden">Loading...</span>
</button>
<button class="btn btn-primary" type="button" disabled>
  <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
  Loading...
</button>
<button class="btn btn-primary" type="button" disabled>
  <span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
  <span class="visually-hidden">Loading...</span>
</button>
<button class="btn btn-primary" type="button" disabled>
  <span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
  Loading...
</button>

Sass

Variabili

$spinner-width:           2rem;
$spinner-height:          $spinner-width;
$spinner-vertical-align:  -.125em;
$spinner-border-width:    .25em;
$spinner-animation-speed: .75s;

$spinner-width-sm:        1rem;
$spinner-height-sm:       $spinner-width-sm;
$spinner-border-width-sm: .2em;

Keyframes

Adupratu per creà l'animazioni CSS per i nostri spinners. Inclusu in scss/_spinners.scss.

@keyframes spinner-border {
  to { transform: rotate(360deg) #{"/* rtl:ignore */"}; }
}
@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}