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>
.
prefers-reduced-motion
mediá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.
<div class="spinner-border" role="status">
<span class="visually-hidden">Loading...</span>
</div>
Farby
Ohraničenie sa používa currentColor
na 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.
<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
nástroje? Každý číselník okrajov špecifikuje
transparent
okraj 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!
<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.
<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 rem
s, 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-5
na jednoduché vytváranie medzier.
<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
<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>
Pláva
<div class="clearfix">
<div class="spinner-border float-end" role="status">
<span class="visually-hidden">Loading...</span>
</div>
</div>
Zarovnanie textu
<div class="text-center">
<div class="spinner-border" role="status">
<span class="visually-hidden">Loading...</span>
</div>
</div>
Veľkosť
Pridajte .spinner-border-sm
a .spinner-grow-sm
vytvorte menší spinner, ktorý možno rýchlo použiť v rámci iných komponentov.
<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.
<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.
<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
Premenné
Pridané vo verzii 5.2.0Ako súčasť vyvíjajúceho sa prístupu premenných CSS od Bootstrapu teraz tvorcovia používajú lokálne premenné CSS na .spinner-border
vylepšené .spinner-grow
prispô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-sm
trieda 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;
}
}