Biçe ser naveroka sereke Biçe navîgasyon belgeyan
in English

Toasts

Agahdariyên ji bo mêvanên xwe bi toast, peyamek hişyariya sivik û bi hêsanî xwerû bişînin.

Toasts notifications sivik in ku ji bo teqlîdkirina notifications push ku ji hêla pergalên xebitandinê yên mobîl û sermaseyê ve hatine populer kirin hatine çêkirin. Ew bi flexbox-ê hatine çêkirin, ji ber vê yekê ew bi hev veqetandin û pozîsyonê hêsan in.

Têgihiştinî

Tiştên ku divê hûn zanibin dema ku pêveka toast bikar tînin:

  • Toast ji ber sedemên performansê têne hilbijartin, ji ber vê yekê divê hûn bi xwe wan dest pê bikin .
  • Ger tu diyar nekî Toast dê bixweber veşêrin autohide: false.
Bandora anîmasyonê ya vê hêmanê bi pirsa prefers-reduced-motionmedyayê ve girêdayî ye. Binêre beşa tevgera kêmkirî ya belgeya gihîştina me .

Examples

Bingehîn

Ji bo teşwîqkirina tostên berfireh û pêşbînîkirî, em sernav û laşek pêşniyar dikin. Sernavên Toast bikar tînin display: flex, bi saya karûbarên meya marjînal û flexbox-ê rê dide hevrêzkirina naverokê hêsan.

Toast bi qasî ku hûn hewce ne maqûl in û îşaretek pir hindik hewce ne. Bi kêmanî, em ji hêmanek yekane hewce dikin ku naveroka weya "toast" hebe û bi tundî bişkokek betalkirinê teşwîq bike.

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

Jîyan

Bişkojka jêrîn bikirtînin da ku toastek (bi karûbarên me yên li quncikê jêrîn ê rastê ve hatî cîh kirin) ku ji hêla xwerû ve hatî veşartin nîşan bide .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>

Translucent

Toast hinekî şefaf in ku bi ya ku li binê wan heye re tevbigerin.

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

Stacking

Hûn dikarin tostanan bi pêçandina wan di konteynirek toastê de bixin stûyê, ku dê bi rengek vertîkal hin cîh lê zêde bike.

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

naveroka Custom

Toastên xwe bi rakirina bine-pêkmanan, guheztina wan bi karûbaran , an bi lê zêdekirina nîşankirina xweya xwe xweş bikin. Li vir me bi rakirina .toast-headerxwerû, îkonek veşartî ya xwerû ya ji îkonên Bootstrap -ê zêde kir , û bi karanîna hin karûbarên flexbox -ê ji bo eyarkirina layoutê ve toastek hêsantir çêkir .

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

Wekî din, hûn dikarin kontrol û hêmanên din jî li toastan zêde bikin.

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

Rengên rengan

Li ser mînaka jorîn ava kirin, hûn dikarin bi karûbarên meya reng û paşerojê re nexşeyên rengên cûda yên toast biafirînin . Li vir me .bg-primaryû .text-whiteli .toast, û dûv .btn-close-whitere li bişkoka xweya girtina xwe zêde kir. Ji bo perdeyek hişk, em sînorê xwerû bi .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>

Cihkirin

Li gorî ku hûn hewce ne bi CSS-ya xwerû toastan bi cih bikin. Rastê jorîn bi gelemperî ji bo ragihandinê tê bikar anîn, wekî navîna jorîn. Ger hûn ê her gav tenê yek tost nîşan bidin, şêwazên pozîsyonê rast li ser bixin .toast.

Bootstrap 11 deqîqe berê
Silav, dinya! Ev peyamek toast e.
<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>

Ji bo pergalên ku bêtir agahdarî diafirînin, bi karanîna hêmanek pêçandî bifikirin da ku ew bi hêsanî bicivînin.

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

Her weha hûn dikarin bi karûbarên flexbox-ê xweş bibin da ku tostanan bi horizontî û/an verastalî hev bikin.

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

Gihîştina

Toast têne armanc kirin ku ji bo serdan an bikarhênerên we re qutkirinên piçûk bin, ji ber vê yekê ji bo ku hûn bi xwendevanên ekranê û teknolojiyên alîkar ên mîna wan re bibin alîkar, divê hûn tostanên xwe li aria-liveherêmek bipêçin . Guhertinên li herêmên zindî (wek derzîkirin/nûvekirina hêmanek toast) bixweber ji hêla xwendevanên ekranê ve têne ragihandin bêyî ku hewce bike ku bala bikarhêner biguhezîne an bi rengek din bikarhêner were qut kirin. Wekî din, têxin nav aria-atomic="true"xwe da ku hûn pê ewle bibin ku tevahî toast her gav wekî yekîneyek yekane (atomî) tê ragihandin, ji bilî ragihandina tiştê ku hatî guhertin (ku dibe sedema pirsgirêkan heke hûn tenê beşek ji naveroka toast nûve bikin, an heke heman naveroka toastê nîşan bidin. di demeke paşîn de). Ger agahdariya ku hewce dike ji bo pêvajoyê girîng e, mînakî ji bo navnîşek xeletiyên di formekê de, wê hingê beşa hişyariyê bikar bînin.li şûna toast.

Bala xwe bidinê ku berî ku toast were çêkirin an nûvekirin pêdivî ye ku devera zindî di nîşankirinê de hebe. Ger hûn di heman demê de herduyan bi dînamîk biafirînin û wan di rûpelê de derxînin, ew ê bi gelemperî ji hêla teknolojiyên arîkar ve neyên ragihandin.

Di heman demê de pêdivî ye ku hûn li gorî naverokê astê roleû astê biguhezînin. aria-liveGer ew peyamek girîng e mîna xeletiyek, bikar bînin role="alert" aria-live="assertive", wekî din role="status" aria-live="polite"taybetmendiyan bikar bînin.

Ji ber ku naveroka ku hûn nîşan didin diguhezin, bê guman wextê nûve bikin da ku bikarhêner ji bo xwendina tostê wextê têr hebe delay.

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

Dema ku hûn bikar tînin autohide: false, divê hûn bişkokek nêzîk lê zêde bikin da ku bihêlin bikarhêneran tostê biavêjin.

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

Dema ku ji hêla teknîkî ve gengaz e ku meriv kontrolên baldar/çalakbar (wekî bişkok an girêdanên din) li toastê zêde bike, divê hûn ji bo xweveşartina toastan ji kirina vê yekê dûr bisekinin. Tewra ku hûn demek dirêj dirêj bidin delaytoastê , bikarhênerên klavyeyê û teknolojiya arîkar dibe ku dijwar be ku di wextê xwe de bigihîjin toastê ku tevbigerin (ji ber ku toast dema ku têne xuyang kirin balê nagirin). Heke hûn bê guman hewce ne ku kontrolên din hebin, em pêşniyar dikin ku toastek bi autohide: false.

Sass

Variables

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

Bikaranîna

Bi JavaScriptê toastan bidin destpêkirin:

var toastElList = [].slice.call(document.querySelectorAll('.toast'))
var toastList = toastElList.map(function (toastEl) {
  return new bootstrap.Toast(toastEl, option)
})

Vebijêrk

Vebijark dikarin bi taybetmendiyên daneyan an JavaScriptê ve werin derbas kirin. Ji bo taybetmendiyên daneyê, navê vebijarkê lê zêde bikin data-bs-, wekî di data-bs-animation="".

Nav Awa Destçûnî Terîf
animation boolean true Veguheztina fade ya CSS-ê li toastê bicîh bikin
autohide boolean true Auto veşêre toast
delay jimare 5000 Dereng veşartina tostê (ms)

Methods

Rêbaz û veguherînên Asynchronous

Hemî rêbazên API-ê asynkron in û veguherînek dest pê dikin . Gava ku veguhêz dest pê kir lê berî ku biqede ew vedigerin bangkerê . Wekî din, bangek rêbazek li ser pêkhateyek veguhêz dê were paşguh kirin.

Ji bo bêtir agahdarî li belgeya meya JavaScriptê binêre .

rêdan

Tiştek hêmanek eşkere dike. Berî ku tost bi rastî were xuyang kirin (ango berî ku shown.bs.toastbûyer çêbibe) vedigere bangewazî. Pêdivî ye ku hûn bi destan bangî vê rêbazê bikin, li şûna wê tosta we nayê xuyang kirin.

toast.show()

veşartin

Tiştek hêmanek vedişêre. Berî ku tost bi rastî veşêre (ango berî ku hidden.bs.toastbûyer çêbibe) vedigere bangkerê. Ger we çêkiriye divê hûn bi destan bangî vê rêbazê autohidebikin false.

toast.hide()

avêtin

Tiştek hêmanek vedişêre. Tişta we dê li ser DOM-ê bimîne lê êdî nayê xuyang kirin.

toast.dispose()

getInstance

Rêbaza statîk ku dihêle hûn mînaka scrollspy-ê ya ku bi hêmanek DOM-ê ve girêdayî ye bistînin

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

getOrCreateInstance

Rêbaza statîkî ya ku dihêle hûn mînaka scrollspy-ya ku bi hêmanek DOM-ê ve girêdayî ye bistînin, an heke ew nehatibe destpêkirin yek nû biafirînin.

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

Events

Cureyê bûyerê Terîf
show.bs.toast showDema ku rêbaza nimûneyê tê gazî kirin ev bûyer tavilê dişewite.
shown.bs.toast Dema ku tost ji bikarhênerê re xuya bibe ev bûyer tê şewitandin.
hide.bs.toast hideDema ku rêbaza nimûneyê hate gazîkirin , ev bûyer tavilê tê şewitandin .
hidden.bs.toast Dema ku tost ji bikarhênerê veşartî xilas bû ev bûyer tê şewitandin.
var myToastEl = document.getElementById('myToast')
myToastEl.addEventListener('hidden.bs.toast', function () {
  // do something...
})