Mine põhisisu juurde Jätke dokumentide navigeerimise juurde
in English

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.
Selle komponendi animatsiooniefekt sõltub prefers-reduced-motionmeediumipä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>
Varem lisasid meie skriptid .hideklassi dünaamiliselt, et röstsaat täielikult peita ( display:nonemitte lihtsalt klahviga opacity:0). Nüüd pole see enam vajalik. Tagasiühilduvuse tagamiseks jätkab meie skript aga klassi vahetamist (kuigi selleks pole praktilist vajadust) kuni järgmise suurema versioonini.

Elav näide

Vaikimisi peidetud röstsaia kuvamiseks klõpsake alloleval nupul (mis on paremas alanurgas meie utiliitidega).

<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" 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>

Reaalajas toosti demo käivitamiseks kasutame järgmist JavaScripti:

var toastTrigger = document.getElementById('liveToastBtn')
var toastLiveExample = document.getElementById('liveToast')
if (toastTrigger) {
  toastTrigger.addEventListener('click', function () {
    var toast = new bootstrap.Toast(toastLiveExample)

    toast.show()
  })
}

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-primaryja ning seejärel .text-whitesulgemisnupule . 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.

Bootstrap 11 minutit tagasi
Tere, Maailm! See on toosti sõnum.
<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-livepiirkonnas . 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 roleja aria-livetaset 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 delayajalõ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 delayajalõ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($black, .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($black, .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)
})

Päästikud

Vallandumise saab saavutada röstsaiadata nupul oleva atribuudiga, nagu on näidatud allpool:

<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>

või nupul väljaspool röstsaia , kasutades järgmist data-bs-target:

<button type="button" class="btn-close" data-bs-dismiss="toast" data-bs-target="#my-toast" aria-label="Close"></button>

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.toastsü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.toastsündmuse toimumist). Kui tegite selle meetodi, peate selle meetodi käsitsi autohidekutsuma 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 hankida DOM-i elemendiga seotud toosti eksemplari

var myToastEl = document.getElementById('myToastEl')
var myToast = bootstrap.Toast.getInstance(myToastEl) // Returns a Bootstrap toast instance

getOrCreateInstance

Staatiline meetod, mis võimaldab hankida DOM-i elemendiga seotud toosti 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 showeksemplari 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 hideeksemplari 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...
})