Спиннерс
Означите стање учитавања компоненте или странице помоћу Боотстрап спинера, који су у потпуности направљени помоћу ХТМЛ-а, ЦСС-а и без ЈаваСцрипт-а.
О томе
Боотстрап „спиннери“ се могу користити за приказ стања учитавања у вашим пројектима. Направљени су само помоћу ХТМЛ-а и ЦСС-а, што значи да вам није потребан ЈаваСцрипт да бисте их креирали. Међутим, биће вам потребан неки прилагођени ЈаваСцрипт да бисте променили њихову видљивост. Њихов изглед, поравнање и величина могу се лако прилагодити нашим невероватним услужним класама.
У сврху приступачности, сваки учитавач овде укључује 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;
}
}