Röstsaid
Lükake oma külastajatele märguandeid röstsaiaga, kerge ja hõlpsasti kohandatava hoiatussõnumiga.
Röstsaad on kerged märguanded, mis on loodud mobiiltelefonide ja lauaarvutite operatsioonisüsteemide poolt populaarseks muutunud push-teavituste jäljendamiseks. Need on ehitatud flexboxiga, nii et neid on lihtne joondada ja positsioneerida.
Ülevaade
Asjad, mida röstsaia pistikprogrammi kasutamisel teada saada:
- Röstsaid on tulemuslikkuse huvides lubatud, seega peate need ise lähtestama .
- Kui te seda ei määra, peidetakse röstsaiad automaatselt
autohide: false
.
prefers-reduced-motion
meediumipäringust. Vaadake
meie juurdepääsetavuse dokumentatsiooni vähendatud liikumise jaotist .
Näited
Põhiline
Laiendatavate ja prognoositavate röstsaitide julgustamiseks soovitame kasutada päist ja keha. Röstsaa päised kasutavad display: flex
, mis võimaldab tänu meie veerise ja flexboxi utiliitidele sisu hõlpsat joondamist.
Röstsaid on nii paindlikud kui vaja ja neil on väga vähe nõutavat juurdehindlust. Nõuame teie röstitud sisu sisaldama vähemalt ühte elementi ja soovitame tungivalt loobumisnupu kasutamist.
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
Otse
Klõpsake alloleval nupul, et kuvada röstsai (asub paremas alanurgas meie utiliitidega), mis on vaikimisi peidetud .hide
.
<button type="button" class="btn btn-primary" id="liveToastBtn">Show live toast</button>
<div class="position-fixed bottom-0 end-0 p-3" style="z-index: 11">
<div id="liveToast" class="toast hide" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
</div>
Läbipaistev
Röstsaivad on kergelt läbipaistvad, et sulanduda nende all olevaga.
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
Virnastamine
Saate röstsaiad virna panna, mähkides need röstsaia anumasse, mis lisab vertikaalselt veidi vahet.
<div class="toast-container">
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">just now</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
See? Just like this.
</div>
</div>
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">2 seconds ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Heads up, toasts will stack automatically
</div>
</div>
</div>
Kohandatud sisu
Kohandage oma toosti, eemaldades alamkomponente, kohandades neid utiliitidega või lisades oma märgistuse. Siin oleme loonud lihtsama toosti, eemaldades vaikimisi , lisades Bootstrap.toast-header
Icons'ist kohandatud peitmise ikooni ja kasutades paigutuse kohandamiseks mõnda flexboxi utiliiti .
<div class="toast align-items-center" role="alert" aria-live="assertive" aria-atomic="true">
<div class="d-flex">
<div class="toast-body">
Hello, world! This is a toast message.
</div>
<button type="button" class="btn-close me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
</div>
Teise võimalusena saate röstsaiadele lisada ka täiendavaid juhtelemente ja komponente.
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-body">
Hello, world! This is a toast message.
<div class="mt-2 pt-2 border-top">
<button type="button" class="btn btn-primary btn-sm">Take action</button>
<button type="button" class="btn btn-secondary btn-sm" data-bs-dismiss="toast">Close</button>
</div>
</div>
</div>
Värvilahendused
Ülaltoodud näitele tuginedes saate meie värvi- ja taustautiliitidega luua erinevaid röstsaia värvilahendusi . Siin oleme lisanud nupule .bg-primary
ja ning seejärel .text-white
sulgemisnupule . Terava serva saamiseks eemaldame vaikeäärise nupuga ..toast
.btn-close-white
.border-0
<div class="toast align-items-center text-white bg-primary border-0" role="alert" aria-live="assertive" aria-atomic="true">
<div class="d-flex">
<div class="toast-body">
Hello, world! This is a toast message.
</div>
<button type="button" class="btn-close btn-close-white me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
</div>
Paigutus
Asetage röstsaiad kohandatud CSS-iga vastavalt vajadusele. Ülemist paremat ülaosa kasutatakse sageli märguannete jaoks, nagu ka ülemist keskmist osa. Kui kavatsete näidata ainult ühte toosti korraga, asetage positsioneerimisstiilid otse .toast
.
<form>
<div class="mb-3">
<label for="selectToastPlacement">Toast placement</label>
<select class="form-select mt-2" id="selectToastPlacement">
<option value="" selected>Select a position...</option>
<option value="top-0 start-0">Top left</option>
<option value="top-0 start-50 translate-middle-x">Top center</option>
<option value="top-0 end-0">Top right</option>
<option value="top-50 start-0 translate-middle-y">Middle left</option>
<option value="top-50 start-50 translate-middle">Middle center</option>
<option value="top-50 end-0 translate-middle-y">Middle right</option>
<option value="bottom-0 start-0">Bottom left</option>
<option value="bottom-0 start-50 translate-middle-x">Bottom center</option>
<option value="bottom-0 end-0">Bottom right</option>
</select>
</div>
</form>
<div aria-live="polite" aria-atomic="true" class="bg-dark position-relative bd-example-toasts">
<div class="toast-container position-absolute p-3" id="toastPlacement">
<div class="toast">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
</div>
</div>
Süsteemide puhul, mis genereerivad rohkem teatisi, kaaluge ümbriselemendi kasutamist, et neid saaks hõlpsalt virnastada.
<div aria-live="polite" aria-atomic="true" class="position-relative">
<!-- Position it: -->
<!-- - `.toast-container` for spacing between toasts -->
<!-- - `.position-absolute`, `top-0` & `end-0` to position the toasts in the upper right corner -->
<!-- - `.p-3` to prevent the toasts from sticking to the edge of the container -->
<div class="toast-container position-absolute top-0 end-0 p-3">
<!-- Then put toasts within -->
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">just now</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
See? Just like this.
</div>
</div>
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">2 seconds ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Heads up, toasts will stack automatically
</div>
</div>
</div>
</div>
Flexboxi utiliitide abil saate röstsaiad horisontaalselt ja/või vertikaalselt joondada.
<!-- Flexbox container for aligning the toasts -->
<div aria-live="polite" aria-atomic="true" class="d-flex justify-content-center align-items-center w-100">
<!-- Then put toasts within -->
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
</div>
Juurdepääsetavus
Röstsaad on mõeldud külastajatele või kasutajatele väikesteks katkestusteks, nii et ekraanilugejate ja sarnaste abitehnoloogiatega inimeste abistamiseks peaksite oma toostid pakkima aria-live
piirkonnas . Ekraanilugejad teatavad reaalajas piirkondade muudatustest (nt röstsaia komponendi süstimine/värskendamine) automaatselt, ilma et oleks vaja kasutaja fookust liigutada või muul viisil kasutajat katkestada. Lisaks lisage aria-atomic="true"
see tagamaks, et kogu röstsaia kuulutatakse alati välja ühe (aatomi) ühikuna, mitte ainult muudatustest teavitamise asemel (mis võib põhjustada probleeme, kui värskendate ainult osa röstsaia sisust või kui kuvatakse sama röstsaia sisu hilisemal ajahetkel). Kui vajalik teave on protsessi jaoks oluline, nt vormi vigade loendi jaoks, kasutage hoiatuskomponentiröstsaia asemel.
Pange tähele, et reaalajas piirkond peab märgistuses olema enne röstsaia loomist või värskendamist. Kui genereerite mõlemad korraga dünaamiliselt ja sisestate need lehele, siis abitehnoloogiad neid üldjuhul ei teavita.
Samuti peate kohandama role
ja aria-live
taset olenevalt sisust. Kui see on oluline teade, näiteks tõrge, kasutage role="alert" aria-live="assertive"
, muul juhul kasutage role="status" aria-live="polite"
atribuute.
Kuna kuvatav sisu muutub, värskendage kindlasti delay
ajalõppu , et kasutajatel oleks piisavalt aega röstsaia lugemiseks.
<div class="toast" role="alert" aria-live="polite" aria-atomic="true" data-bs-delay="10000">
<div role="alert" aria-live="assertive" aria-atomic="true">...</div>
</div>
Kui kasutate autohide: false
, peate lisama sulgemisnupu, et kasutajad saaksid röstsaiast loobuda.
<div role="alert" aria-live="assertive" aria-atomic="true" class="toast" data-bs-autohide="false">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
Kuigi tehniliselt on röstsaiale võimalik lisada fokuseeritavaid/toimivaid juhtnuppe (nt täiendavaid nuppe või linke), peaksite vältima seda röstsaiade automaatse peitmise korral. Isegi kui annate röstsaiale pika delay
ajalõpu , võib klaviatuuri ja abitehnoloogia kasutajatel olla raske röstsaiale õigel ajal jõuda, et midagi ette võtta (kuna röstsaiad ei keskendu kuvamisel). Kui teil on kindlasti vaja täiendavaid juhtnuppe, soovitame kasutada röstsaia koos autohide: false
.
Sass
Muutujad
$toast-max-width: 350px;
$toast-padding-x: .75rem;
$toast-padding-y: .5rem;
$toast-font-size: .875rem;
$toast-color: null;
$toast-background-color: rgba($white, .85);
$toast-border-width: 1px;
$toast-border-color: rgba(0, 0, 0, .1);
$toast-border-radius: $border-radius;
$toast-box-shadow: $box-shadow;
$toast-spacing: $container-padding-x;
$toast-header-color: $gray-600;
$toast-header-background-color: rgba($white, .85);
$toast-header-border-color: rgba(0, 0, 0, .05);
Kasutamine
Toostide lähtestamine JavaScripti kaudu:
var toastElList = [].slice.call(document.querySelectorAll('.toast'))
var toastList = toastElList.map(function (toastEl) {
return new bootstrap.Toast(toastEl, option)
})
Valikud
Valikud saab edastada andmeatribuutide või JavaScripti kaudu. Andmeatribuutide jaoks lisage valiku nimi data-bs-
, nagu data-bs-animation=""
.
Nimi | Tüüp | Vaikimisi | Kirjeldus |
---|---|---|---|
animation |
tõeväärtus | true |
Rakendage röstsaiale CSS-i tuhmumise üleminek |
autohide |
tõeväärtus | true |
Peida röstsai automaatselt |
delay |
number | 5000 |
Viivitus röstsaia peitmisel (ms) |
meetodid
Asünkroonsed meetodid ja üleminekud
Kõik API meetodid on asünkroonsed ja alustavad üleminekut . Nad naasevad helistaja juurde kohe pärast ülemineku algust, kuid enne selle lõppu . Lisaks ignoreeritakse üleminekukomponendi meetodikutset .
Lisateabe saamiseks vaadake meie JavaScripti dokumentatsiooni .
näidata
Paljastab elemendi röstsaia. Naaseb helistaja juurde enne, kui toosti on tegelikult näidatud (st enne shown.bs.toast
sündmuse toimumist). Peate seda meetodit käsitsi kutsuma, selle asemel ei kuvata teie röstsaia.
toast.show()
peita
Peidab elemendi röstsaia. Naaseb helistaja juurde enne, kui toost on tegelikult peidetud (st enne hidden.bs.toast
sündmuse toimumist). Kui tegite selle meetodi, peate selle meetodi käsitsi autohide
kutsuma false
.
toast.hide()
käsutada
Peidab elemendi röstsaia. Teie röstsai jääb DOM-i, kuid seda enam ei kuvata.
toast.dispose()
getInstance
Staatiline meetod, mis võimaldab teil saada DOM-i elemendiga seotud scrollspy eksemplari
var myToastEl = document.getElementById('myToastEl')
var myToast = bootstrap.Toast.getInstance(myToastEl) // Returns a Bootstrap toast instance
getOrCreateInstance
Staatiline meetod, mis võimaldab teil saada DOM-i elemendiga seotud scrollspy eksemplari või luua uue juhuks, kui seda ei lähtestatud
var myToastEl = document.getElementById('myToastEl')
var myToast = bootstrap.Toast.getOrCreateInstance(myToastEl) // Returns a Bootstrap toast instance
Sündmused
Sündmuse tüüp | Kirjeldus |
---|---|
show.bs.toast |
See sündmus käivitub kohe, kui show eksemplari meetod kutsutakse. |
shown.bs.toast |
See sündmus käivitatakse, kui toost on kasutajale nähtavaks tehtud. |
hide.bs.toast |
See sündmus käivitatakse kohe, kui hide eksemplari meetod on välja kutsutud. |
hidden.bs.toast |
See sündmus käivitatakse, kui röstsai on kasutaja eest varjatud. |
var myToastEl = document.getElementById('myToast')
myToastEl.addEventListener('hidden.bs.toast', function () {
// do something...
})