Preskočiť na hlavný obsah Preskočiť na navigáciu v dokumentoch
Check
in English

Spinnery

Označte stav načítania komponentu alebo stránky pomocou číselníkov Bootstrap, vytvorených výlučne pomocou HTML, CSS a bez JavaScriptu.

O

Bootstrap „spinnery“ možno použiť na zobrazenie stavu načítania vo vašich projektoch. Sú vytvorené iba pomocou HTML a CSS, čo znamená, že na ich vytvorenie nepotrebujete žiadny JavaScript. Na prepnutie ich viditeľnosti však budete potrebovať nejaký vlastný JavaScript. Ich vzhľad, zarovnanie a veľkosť možno ľahko prispôsobiť pomocou našich úžasných tried úžitkových vlastností.

Na účely zjednodušenia ovládania tu každý načítač obsahuje role="status"a vnorený súbor <span class="visually-hidden">Loading...</span>.

Animačný efekt tohto komponentu závisí od prefers-reduced-motionmediálneho dopytu. Pozrite si časť so zníženým pohybom v našej dokumentácii o prístupnosti .

Hraničný spinner

Použite hraničné kolíky pre ľahký indikátor zaťaženia.

Načítava...
html
<div class="spinner-border" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Farby

Ohraničenie sa používa currentColorna to border-color, čo znamená, že si môžete prispôsobiť farbu pomocou nástrojov na farbu textu . Na štandardnom spinneri môžete použiť ktorýkoľvek z našich nástrojov pre farbu textu.

Načítava...
Načítava...
Načítava...
Načítava...
Načítava...
Načítava...
Načítava...
Načítava...
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>
Prečo nepoužívať border-colornástroje? Každý číselník okrajov špecifikuje transparentokraj aspoň pre jednu stranu, takže .border-{color}pomocné programy to prepíšu.

Rastúca rotačka

Ak nemáte chuť na hraničnú rotačku, prepnite na rastúcu rotačku. Hoci sa technicky netočí, opakovane rastie!

Načítava...
html
<div class="spinner-grow" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Tento spinner je opäť zostavený s currentColor, takže jeho vzhľad môžete jednoducho zmeniť pomocou nástrojov pre farbu textu . Tu je v modrej farbe spolu s podporovanými variantmi.

Načítava...
Načítava...
Načítava...
Načítava...
Načítava...
Načítava...
Načítava...
Načítava...
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>

Zarovnanie

Spinnery v Bootstrape sú vytvorené pomocou rems, currentColor, a display: inline-flex. To znamená, že sa dajú ľahko zmeniť veľkosť, prefarbiť a rýchlo zarovnať.

Marža

Použite nástroje okrajov , napríklad .m-5na jednoduché vytváranie medzier.

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

Umiestnenie

Použite nástroje flexbox , float utilities alebo nástroje na zarovnanie textu na umiestnenie spinnerov presne tam, kde ich potrebujete v akejkoľvek situácii.

Flex

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

Pláva

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

Zarovnanie textu

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

Veľkosť

Pridajte .spinner-border-sma .spinner-grow-smvytvorte menší spinner, ktorý možno rýchlo použiť v rámci iných komponentov.

Načítava...
Načítava...
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>

Alebo použite vlastné štýly CSS alebo vložené štýly na zmenu rozmerov podľa potreby.

Načítava...
Načítava...
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>

Tlačidlá

Pomocou číselníkov v rámci tlačidiel označte, že sa práve spracováva alebo vykonáva akcia. Môžete tiež vymeniť text z prvku spinner a použiť text tlačidla podľa potreby.

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

Premenné

Pridané vo verzii 5.2.0

Ako súčasť vyvíjajúceho sa prístupu premenných CSS od Bootstrapu teraz tvorcovia používajú lokálne premenné CSS na .spinner-bordervylepšené .spinner-growprispôsobenie v reálnom čase. Hodnoty pre premenné CSS sa nastavujú cez Sass, takže prispôsobenie Sass je stále podporované.

Premenné hraničného číselníka:

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

Rastúce premenné spinneru:

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

Pre oba spinnery sa na aktualizáciu hodnôt týchto premenných CSS podľa potreby používajú malé triedy modifikátorov spinner. Napríklad .spinner-border-smtrieda robí nasledovné:

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

Sass premenné

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

Kľúčové snímky

Používa sa na vytváranie animácií CSS pre naše spinnery. Zahrnuté v scss/_spinners.scss.

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