Preskoči na glavni sadržaj Preskoči na navigaciju dokumenata
Check
in English

Spinners

Označite stanje učitavanja komponente ili stranice pomoću Bootstrap spinnera, u potpunosti izgrađenih sa HTML-om, CSS-om i bez JavaScripta.

O

Bootstrap „spinneri“ se mogu koristiti za prikaz stanja učitavanja u vašim projektima. Napravljeni su samo sa HTML-om i CSS-om, što znači da vam nije potreban JavaScript da biste ih kreirali. Međutim, trebat će vam neki prilagođeni JavaScript da biste promijenili njihovu vidljivost. Njihov izgled, poravnanje i veličina mogu se lako prilagoditi našim nevjerovatnim uslužnim klasama.

U svrhu pristupačnosti, svaki učitavač ovdje uključuje role="status"i ugniježđeni <span class="visually-hidden">Loading...</span>.

Efekt animacije ove komponente ovisi o prefers-reduced-motionmedijskom upitu. Pogledajte odjeljak o smanjenom pokretu u našoj dokumentaciji o pristupačnosti .

Border spinner

Koristite graničnike za lagani indikator punjenja.

Učitavanje...
html
<div class="spinner-border" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Boje

Border spinner koristi currentColorza svoj border-color, što znači da možete prilagoditi boju pomoću uslužnih programa za boju teksta . Možete koristiti bilo koji od naših uslužnih programa za boju teksta na standardnom spineru.

Učitavanje...
Učitavanje...
Učitavanje...
Učitavanje...
Učitavanje...
Učitavanje...
Učitavanje...
Učitavanje...
html
<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>
Zašto ne koristiti border-coloruslužne programe? Svaki graničnik za okretanje specificira transparentgranicu za barem jednu stranu, tako da .border-{color}bi uslužni programi to nadjačali.

Growing spinner

Ako vam se ne sviđa granični spinner, prebacite se na prečicu za rast. Iako se tehnički ne vrti, stalno raste!

Učitavanje...
html
<div class="spinner-grow" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Još jednom, ovaj spinner je napravljen sa currentColor, tako da možete lako promijeniti njegov izgled pomoću uslužnih programa za boju teksta . Ovdje je u plavoj boji, zajedno sa podržanim varijantama.

Učitavanje...
Učitavanje...
Učitavanje...
Učitavanje...
Učitavanje...
Učitavanje...
Učitavanje...
Učitavanje...
html
<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>

Poravnanje

Spineri u Bootstrapu su napravljeni sa rems, currentColor, i display: inline-flex. To znači da im se može lako promijeniti veličina, promijeniti boju i brzo poravnati.

Margina

Koristite uslužne programe za margine kao što .m-5je za lakši razmak.

Učitavanje...
html
<div class="spinner-border m-5" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Plasman

Koristite flexbox uslužne programe , float uslužne programe ili uslužne programe za poravnavanje teksta da postavite spinere tačno tamo gde su vam potrebni u svakoj situaciji.

Flex

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

Pluta

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

Poravnaj tekst

Učitavanje...
html
<div class="text-center">
  <div class="spinner-border" role="status">
    <span class="visually-hidden">Loading...</span>
  </div>
</div>

Veličina

Dodajte .spinner-border-smi .spinner-grow-smda napravite manji spiner koji se brzo može koristiti u drugim komponentama.

Učitavanje...
Učitavanje...
html
<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>

Ili koristite prilagođene CSS ili inline stilove da promijenite dimenzije po potrebi.

Učitavanje...
Učitavanje...
html
<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>

Dugmad

Koristite okretne tipke unutar dugmadi da označite da se radnja trenutno obrađuje ili odvija. Također možete zamijeniti tekst iz spinner elementa i koristiti tekst gumba po potrebi.

html
<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>
html
<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

Varijable

Dodato u v5.2.0

Kao dio Bootstrap-ovog evoluirajućeg pristupa CSS varijabli, spineri sada koriste lokalne CSS varijable na .spinner-borderi .spinner-growza poboljšanu prilagodbu u realnom vremenu. Vrijednosti za CSS varijable se postavljaju putem Sass-a, tako da je i Sass prilagođavanje i dalje podržano.

Border spinner varijable:

  --#{$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;
  

Rastuće varijable spinnera:

  --#{$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;
  

Za oba spinera, male klase modifikatora spinera se koriste za ažuriranje vrijednosti ovih CSS varijabli po potrebi. Na primjer, .spinner-border-smklasa radi sljedeće:

  --#{$prefix}spinner-width: #{$spinner-width-sm};
  --#{$prefix}spinner-height: #{$spinner-height-sm};
  --#{$prefix}spinner-border-width: #{$spinner-border-width-sm};
  

Sass varijable

$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;

Ključni okviri

Koristi se za kreiranje CSS animacija za naše spinere. Uključeno u scss/_spinners.scss.

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