Пређи на главни садржај Прескочи на навигацију докумената
Check
in English

Спиннерс

Означите стање учитавања компоненте или странице помоћу Боотстрап спинера, који су у потпуности направљени помоћу ХТМЛ-а, ЦСС-а и без ЈаваСцрипт-а.

О томе

Боотстрап „спиннери“ се могу користити за приказ стања учитавања у вашим пројектима. Направљени су само помоћу ХТМЛ-а и ЦСС-а, што значи да вам није потребан ЈаваСцрипт да бисте их креирали. Међутим, биће вам потребан неки прилагођени ЈаваСцрипт да бисте променили њихову видљивост. Њихов изглед, поравнање и величина могу се лако прилагодити нашим невероватним услужним класама.

У сврху приступачности, сваки учитавач овде укључује role="status"и угнежђени <span class="visually-hidden">Loading...</span>.

Ефекат анимације ове компоненте зависи од prefers-reduced-motionмедијског упита. Погледајте одељак о смањеном покрету наше документације о приступачности .

Бордер спиннер

Користите граничнике за лагани индикатор оптерећења.

Учитавање...
хтмл
<div class="spinner-border" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Боје

Бордер спиннер користи currentColorза своје border-color, што значи да можете прилагодити боју помоћу услужних програма за боју текста . Можете користити било који од наших услужних програма за боју текста на стандардном спинеру.

Учитавање...
Учитавање...
Учитавање...
Учитавање...
Учитавање...
Учитавање...
Учитавање...
Учитавање...
хтмл
<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услужне програме? Сваки граничник за окретање дефинише transparentграницу за најмање једну страну, тако да .border-{color}би услужни програми то превазишли.

Гровинг спиннер

Ако вам се не свиђа гранични спиннер, пређите на спинер за раст. Иако се технички не врти, стално расте!

Учитавање...
хтмл
<div class="spinner-grow" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Још једном, овај спинер је направљен са currentColor, тако да можете лако да промените његов изглед помоћу услужних програма за боју текста . Овде је у плавој боји, заједно са подржаним варијантама.

Учитавање...
Учитавање...
Учитавање...
Учитавање...
Учитавање...
Учитавање...
Учитавање...
Учитавање...
хтмл
<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>

Поравнање

Спинери у Боотстрапу су направљени са remс, currentColor, и display: inline-flex. То значи да се лако могу променити, променити боју и брзо поравнати.

Маргина

Користите услужне програме за маргине као што .m-5је за лак размак.

Учитавање...
хтмл
<div class="spinner-border m-5" role="status">
  <span class="visually-hidden">Loading...</span>
</div>

Постављање

Користите флекбок услужне програме , флоат услужне програме или услужне програме за поравнавање текста да бисте поставили спинере тачно тамо где су вам потребни у било којој ситуацији.

Флек

Учитавање...
хтмл
<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>

Плута

Учитавање...
хтмл
<div class="clearfix">
  <div class="spinner-border float-end" role="status">
    <span class="visually-hidden">Loading...</span>
  </div>
</div>

Поравнање текста

Учитавање...
хтмл
<div class="text-center">
  <div class="spinner-border" role="status">
    <span class="visually-hidden">Loading...</span>
  </div>
</div>

Величина

Додајте .spinner-border-smи .spinner-grow-smда направите мањи спинер који се брзо може користити у другим компонентама.

Учитавање...
Учитавање...
хтмл
<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>

Или користите прилагођене ЦСС или уграђене стилове да промените димензије по потреби.

Учитавање...
Учитавање...
хтмл
<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>

Дугмад

Користите спинере унутар дугмади да бисте означили да се радња тренутно обрађује или одвија. Такође можете заменити текст из спинер елемента и користити текст дугмета по потреби.

хтмл
<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>

ЦСС

Променљиве

Додато у в5.2.0

Као део Боотстрап-овог еволуирајућег приступа ЦСС променљивим, спинери сада користе локалне ЦСС променљиве .spinner-borderза .spinner-growпобољшано прилагођавање у реалном времену. Вредности за ЦСС променљиве се постављају преко Сасс-а, тако да је и Сасс прилагођавање и даље подржано.

Бордер спиннер променљиве:

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

Растуће варијабле спинера:

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

За оба спинера, мале класе модификатора спинера се користе за ажурирање вредности ових ЦСС променљивих по потреби. На пример, .spinner-border-smкласа ради следеће:

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

Сасс варијабле

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

Кључни кадрови

Користи се за креирање ЦСС анимација за наше спинере. Укључено у scss/_spinners.scss.

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