Filatori
Indica lo stato di caricamento di un componente o di una pagina con gli spinner Bootstrap, costruiti interamente con HTML, CSS e senza JavaScript.
Di
Gli "spinner" Bootstrap possono essere utilizzati per mostrare lo stato di caricamento nei tuoi progetti. Sono costruiti solo con HTML e CSS, il che significa che non è necessario alcun JavaScript per crearli. Avrai, tuttavia, bisogno di alcuni JavaScript personalizzati per attivare la loro visibilità. Il loro aspetto, allineamento e dimensionamento possono essere facilmente personalizzati con le nostre straordinarie classi di utilità.
Ai fini dell'accessibilità, ogni caricatore qui include role="status"
un file <span class="visually-hidden">Loading...</span>
.
prefers-reduced-motion
media query. Vedi la
sezione movimento ridotto della nostra documentazione sull'accessibilità .
Filatore di confine
Usa gli spinner del bordo per un indicatore di caricamento leggero.
<div class="spinner-border" role="status">
<span class="visually-hidden">Loading...</span>
</div>
Colori
La selezione del bordo usa currentColor
per il suo border-color
, il che significa che puoi personalizzare il colore con le utilità del colore del testo . Puoi utilizzare una qualsiasi delle nostre utilità per il colore del testo sullo spinner standard.
<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>
border-color
le utilità? Ogni selezione del bordo specifica un
transparent
bordo per almeno un lato, quindi
.border-{color}
i programmi di utilità lo sovrascriverebbero.
Filatore in crescita
Se non ti piace uno spinner di bordo, passa allo spinner di coltivazione. Anche se tecnicamente non gira, cresce ripetutamente!
<div class="spinner-grow" role="status">
<span class="visually-hidden">Loading...</span>
</div>
Ancora una volta, questo spinner è costruito con currentColor
, quindi puoi facilmente cambiarne l'aspetto con le utilità di colore del testo . Eccolo in blu, insieme alle varianti supportate.
<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>
Allineamento
Gli spinner in Bootstrap sono costruiti con rem
s, currentColor
, e display: inline-flex
. Ciò significa che possono essere facilmente ridimensionati, ricolorati e allineati rapidamente.
Margine
Usa utilità di margine come .m-5
per una facile spaziatura.
<div class="spinner-border m-5" role="status">
<span class="visually-hidden">Loading...</span>
</div>
Posizionamento
Usa le utilità flexbox , le utilità float o le utilità di allineamento del testo per posizionare gli spinner esattamente dove ne hai bisogno in qualsiasi situazione.
Flettere
<div class="d-flex justify-content-center">
<div class="spinner-border" role="status">
<span class="visually-hidden">Loading...</span>
</div>
</div>
<div class="d-flex align-items-center">
<strong>Loading...</strong>
<div class="spinner-border ms-auto" role="status" aria-hidden="true"></div>
</div>
Galleggia
<div class="clearfix">
<div class="spinner-border float-end" role="status">
<span class="visually-hidden">Loading...</span>
</div>
</div>
Allineamento del testo
<div class="text-center">
<div class="spinner-border" role="status">
<span class="visually-hidden">Loading...</span>
</div>
</div>
Dimensione
Aggiungi .spinner-border-sm
e .spinner-grow-sm
per creare uno spinner più piccolo che può essere utilizzato rapidamente all'interno di altri componenti.
<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>
In alternativa, utilizza CSS personalizzati o stili in linea per modificare le dimensioni secondo necessità.
<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
Utilizzare gli spinner all'interno dei pulsanti per indicare che un'azione è attualmente in elaborazione o in corso. Puoi anche scambiare il testo dall'elemento spinner e utilizzare il testo del pulsante secondo necessità.
<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>
CSS
Variabili
Aggiunto nella v5.2.0Come parte dell'approccio in evoluzione delle variabili CSS di Bootstrap, gli spinner ora utilizzano variabili CSS locali su .spinner-border
e .spinner-grow
per una migliore personalizzazione in tempo reale. I valori per le variabili CSS vengono impostati tramite Sass, quindi anche la personalizzazione di Sass è ancora supportata.
Variabili dello spinner del bordo:
--#{$prefix}spinner-width: #{$spinner-width};
--#{$prefix}spinner-height: #{$spinner-height};
--#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};
--#{$prefix}spinner-border-width: #{$spinner-border-width};
--#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};
--#{$prefix}spinner-animation-name: spinner-border;
Variabili spinner in crescita:
--#{$prefix}spinner-width: #{$spinner-width};
--#{$prefix}spinner-height: #{$spinner-height};
--#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};
--#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};
--#{$prefix}spinner-animation-name: spinner-grow;
Per entrambi gli spinner, vengono utilizzate piccole classi di modificatori di spinner per aggiornare i valori di queste variabili CSS secondo necessità. Ad esempio, la .spinner-border-sm
classe esegue le seguenti operazioni:
--#{$prefix}spinner-width: #{$spinner-width-sm};
--#{$prefix}spinner-height: #{$spinner-height-sm};
--#{$prefix}spinner-border-width: #{$spinner-border-width-sm};
variabili Sas
$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;
Fotogrammi chiave
Utilizzato per creare le animazioni CSS per i nostri spinner. Incluso 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;
}
}