Spinners
Bootstrap ئايلانما زاپچاس ياكى بەتنىڭ يۈكلىنىش ھالىتىنى كۆرسىتىڭ ، پۈتۈنلەي HTML ، CSS بىلەن ياسالغان ، JavaScript يوق.
ھەققىدە
Bootstrap «ئايلانما» ئارقىلىق تۈرلىرىڭىزنىڭ يۈكلىنىش ھالىتىنى كۆرسىتىشكە ئىشلىتىلىدۇ. ئۇلار پەقەت HTML ۋە CSS بىلەنلا ياسالغان ، يەنى ئۇلارنى قۇرۇش ئۈچۈن ھېچقانداق JavaScript لازىم ئەمەس. ئۇلارنىڭ كۆرۈنۈشىنى ئۆزگەرتىش ئۈچۈن سىز بىر قىسىم خاس JavaScript غا ئېھتىياجلىق بولىسىز. ئۇلارنىڭ تاشقى قىياپىتى ، توغرىلىنىشى ۋە چوڭ-كىچىكلىكىنى بىزنىڭ ئاجايىپ پايدىلىق دەرسلىرىمىز بىلەن ئاسانلا خاسلاشتۇرغىلى بولىدۇ.
زىيارەت قىلىش مەقسىتىدە ، بۇ يەردىكى ھەر بىر يۈكلىگۈچى ئۆز ئىچىگە 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>
توغرىلاش
Bootstrap دىكى ئايلانما بويۇملار rem
s currentColor
بىلەن ياسالغان display: inline-flex
. بۇ ئۇلارنىڭ چوڭ-كىچىكلىكىنى چوڭايتىش ، قايتا ئەسلەش ۋە تېز ماسلاشتۇرغىلى بولىدىغانلىقىدىن دېرەك بېرىدۇ.
Margin
ئاسان ئارىلىققا ئوخشاش پايدا قوراللىرىنى ئىشلىتىڭ ..m-5
<div class="spinner-border m-5" role="status">
<span class="visually-hidden">Loading...</span>
</div>
ئورۇنلاشتۇرۇش
ئەۋرىشىم قوراللار ، لەيلىمە دېتاللار ياكى تېكىست توغرىلاش قوراللىرىنى ئىشلىتىپ ، ئايلانما ماددىلارنى ھەر قانداق ئەھۋالدا ئېھتىياجلىق ئورۇنغا قويۇڭ.
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>
Floats
<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>
ياكى ئېھتىياجغا ئاساسەن ئۆلچەمنى ئۆزگەرتىش ئۈچۈن ئىختىيارى CSS ياكى ئىچكى ئۇسلۇبنى ئىشلىتىڭ.
<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>
CSS
ئۆزگەرگۈچى مىقدار
V5.2.0 گە قوشۇلدىBootstrap نىڭ تەرەققىي قىلىۋاتقان CSS ئۆزگەرگۈچى مىقدار ئۇسۇلىنىڭ بىر قىسمى سۈپىتىدە ، ئايلاندۇرغۇچىلار ھازىر يەرلىك CSS ئۆزگەرگۈچى مىقدارنى ئىشلىتىپ ، .spinner-border
ھەقىقىي .spinner-grow
ۋاقىتتا خاسلاشتۇرۇشنى كۈچەيتىدۇ. CSS ئۆزگەرگۈچى مىقدارنىڭ قىممىتى Sass ئارقىلىق بەلگىلىنىدۇ ، شۇڭا Sass خاسلاشتۇرۇش يەنىلا قوللىنىدۇ.
چېگرا ئايلانما ئۆزگەرگۈچى مىقدار:
--#{$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;
ھەر ئىككى ئايلانما ئۈچۈن ، كىچىك ئايلانما ئۆزگەرتىش سىنىپى ئېھتىياجغا ئاساسەن بۇ CSS ئۆزگەرگۈچى مىقدارنىڭ قىممىتىنى يېڭىلاشقا ئىشلىتىلىدۇ. مەسىلەن ، .spinner-border-sm
سىنىپ تۆۋەندىكى ئىشلارنى قىلىدۇ:
--#{$prefix}spinner-width: #{$spinner-width-sm};
--#{$prefix}spinner-height: #{$spinner-height-sm};
--#{$prefix}spinner-border-width: #{$spinner-border-width-sm};
Sass ئۆزگەرگۈچى مىقدار
$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;
Keyframes
ئايلاندۇرغۇچىلىرىمىز ئۈچۈن CSS كارتون فىلىملىرىنى ياساشقا ئىشلىتىلىدۇ. ئۆز ئىچىگە ئالىدۇ scss/_spinners.scss
.
@keyframes spinner-border {
to { transform: rotate(360deg) #{"/* rtl:ignore */"}; }
}
@keyframes spinner-grow {
0% {
transform: scale(0);
}
50% {
opacity: 1;
transform: none;
}
}