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

Alerts

Bi çend peyamên hişyariyê yên berdest û maqûl re ji bo kiryarên bikarhêner ên tîpîk peyamên nerînên konteksî peyda bikin.

Examples

Hişyar ji bo her dirêjahiya nivîsê, û her weha bişkojek girtina vebijarkî heye. Ji bo şêwazê rast, yek ji heşt dersên kontekstî yên pêwîst bikar bînin (mînak, .alert-success). Ji bo betalkirina hundurîn, pêveka JavaScript a hişyariyê bikar bînin .

html
<div class="alert alert-primary" role="alert">
  A simple primary alert—check it out!
</div>
<div class="alert alert-secondary" role="alert">
  A simple secondary alert—check it out!
</div>
<div class="alert alert-success" role="alert">
  A simple success alert—check it out!
</div>
<div class="alert alert-danger" role="alert">
  A simple danger alert—check it out!
</div>
<div class="alert alert-warning" role="alert">
  A simple warning alert—check it out!
</div>
<div class="alert alert-info" role="alert">
  A simple info alert—check it out!
</div>
<div class="alert alert-light" role="alert">
  A simple light alert—check it out!
</div>
<div class="alert alert-dark" role="alert">
  A simple dark alert—check it out!
</div>
Veguheztina wateya teknolojiyên arîkar

Bikaranîna rengan ji bo zêdekirina wateyê tenê nîşanek dîtbar peyda dike, ku dê ji bikarhênerên teknolojiyên arîkar re neyê ragihandin - wek xwendevanên ekranê. Piştrast bikin ku agahdariya ku bi reng tê destnîşan kirin an ji naverokê bixwe diyar e (mînak nivîsa xuyayî), an jî bi rêyên alternatîf ve tê de, wek mînak nivîsa zêde ya ku bi .visually-hiddenpolê re veşartî ye.

Mînaka zindî

Bişkojka jêrîn bikirtînin da ku hişyariyek nîşan bide (ji bo destpêkirinê bi şêwazên hundurîn veşartiye), dûv re bi bişkoja girtina çêkirî jê derxînin (û hilweşînin).

html
<div id="liveAlertPlaceholder"></div>
<button type="button" class="btn btn-primary" id="liveAlertBtn">Show live alert</button>

Em JavaScript-a jêrîn bikar tînin da ku demoya xweya hişyariya zindî destnîşan bikin:

const alertPlaceholder = document.getElementById('liveAlertPlaceholder')

const alert = (message, type) => {
  const wrapper = document.createElement('div')
  wrapper.innerHTML = [
    `<div class="alert alert-${type} alert-dismissible" role="alert">`,
    `   <div>${message}</div>`,
    '   <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>',
    '</div>'
  ].join('')

  alertPlaceholder.append(wrapper)
}

const alertTrigger = document.getElementById('liveAlertBtn')
if (alertTrigger) {
  alertTrigger.addEventListener('click', () => {
    alert('Nice, you triggered this alert message!', 'success')
  })
}

.alert-linkDersa karûbar bikar bînin da ku zû di hundurê her hişyariyê de girêdanên rengîn ên lihevhatî peyda bikin.

html
<div class="alert alert-primary" role="alert">
  A simple primary alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
</div>
<div class="alert alert-secondary" role="alert">
  A simple secondary alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
</div>
<div class="alert alert-success" role="alert">
  A simple success alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
</div>
<div class="alert alert-danger" role="alert">
  A simple danger alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
</div>
<div class="alert alert-warning" role="alert">
  A simple warning alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
</div>
<div class="alert alert-info" role="alert">
  A simple info alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
</div>
<div class="alert alert-light" role="alert">
  A simple light alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
</div>
<div class="alert alert-dark" role="alert">
  A simple dark alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
</div>

naveroka Additional

Alert dikarin hêmanên HTML-ê yên wekî sernav, paragraf û dabeşkeran jî hebin.

html
<div class="alert alert-success" role="alert">
  <h4 class="alert-heading">Well done!</h4>
  <p>Aww yeah, you successfully read this important alert message. This example text is going to run a bit longer so that you can see how spacing within an alert works with this kind of content.</p>
  <hr>
  <p class="mb-0">Whenever you need to, be sure to use margin utilities to keep things nice and tidy.</p>
</div>

Îkonên

Bi heman rengî, hûn dikarin karûbarên flexbox û îkonên Bootstrap bikar bînin da ku bi îkonan hişyariyan biafirînin. Bi îkon û naveroka xwe ve girêdayî, dibe ku hûn bixwazin bêtir karûbar an şêwazên xwerû lê zêde bikin.

html
<div class="alert alert-primary d-flex align-items-center" role="alert">
  <svg xmlns="http://www.w3.org/2000/svg" class="bi bi-exclamation-triangle-fill flex-shrink-0 me-2" viewBox="0 0 16 16" role="img" aria-label="Warning:">
    <path d="M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/>
  </svg>
  <div>
    An example alert with an icon
  </div>
</div>

Ji bo hişyariyên we ji yek îkonê zêdetir hewce ne? Bifikirin ku bêtir îkonên Bootstrap bikar bînin û bi vî rengî spritek herêmî ya SVG çêbikin ku bi hêsanî heman îkonan dubare dubare bikin.

html
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
  <symbol id="check-circle-fill" viewBox="0 0 16 16">
    <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>
  </symbol>
  <symbol id="info-fill" viewBox="0 0 16 16">
    <path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
  </symbol>
  <symbol id="exclamation-triangle-fill" viewBox="0 0 16 16">
    <path d="M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/>
  </symbol>
</svg>

<div class="alert alert-primary d-flex align-items-center" role="alert">
  <svg class="bi flex-shrink-0 me-2" role="img" aria-label="Info:"><use xlink:href="#info-fill"/></svg>
  <div>
    An example alert with an icon
  </div>
</div>
<div class="alert alert-success d-flex align-items-center" role="alert">
  <svg class="bi flex-shrink-0 me-2" role="img" aria-label="Success:"><use xlink:href="#check-circle-fill"/></svg>
  <div>
    An example success alert with an icon
  </div>
</div>
<div class="alert alert-warning d-flex align-items-center" role="alert">
  <svg class="bi flex-shrink-0 me-2" role="img" aria-label="Warning:"><use xlink:href="#exclamation-triangle-fill"/></svg>
  <div>
    An example warning alert with an icon
  </div>
</div>
<div class="alert alert-danger d-flex align-items-center" role="alert">
  <svg class="bi flex-shrink-0 me-2" role="img" aria-label="Danger:"><use xlink:href="#exclamation-triangle-fill"/></svg>
  <div>
    An example danger alert with an icon
  </div>
</div>

Derxistina

Bi karanîna pêveka hişyariya JavaScriptê, mimkun e ku hûn her hişyariyek hundurîn ji holê rakin. Li vir çawa ye:

  • Bawer bikin ku we pêveka hişyariyê, an jî Bootstrap JavaScript-a berhevkirî bar kiriye.
  • Bişkojkek girtî û .alert-dismissiblepola lê zêde bikin, ku li rastê hişyariyê pêlavek zêde lê zêde dike û bişkoka girtina bi cih dike.
  • Li ser bişkoja girtinê, data-bs-dismiss="alert"taybetmendiyê zêde bikin, ku fonksiyona JavaScript-ê vedike. Pê bawer bin ku hûn <button>hêmanê bi wê re bikar bînin ji bo tevgera rast li hemî cîhazan.
  • Ji bo ku dema ku wan ji holê rakin hişyariyan zindî bikin, pê ewle bin ku hûn çînên .fadeû lê zêde bikin..show

Hûn dikarin vê di çalakiyê de bi demoyek zindî bibînin:

html
<div class="alert alert-warning alert-dismissible fade show" role="alert">
  <strong>Holy guacamole!</strong> You should check in on some of those fields below.
  <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
Dema ku hişyariyek bête avêtin, hêman bi tevahî ji avahiya rûpelê tê derxistin. Ger bikarhênerek klavyeyê bi karanîna bişkojka girtinê hişyariyê berde, dê bala wî ji nişkê ve winda bibe û, li gorî gerokê, li destpêka rûpelê/belgeyê vegere. Ji ber vê yekê, em pêşniyar dikin ku JavaScript-a zêde ya ku li closed.bs.alertbûyerê guhdarî dike û bi bername focus()li cîhê herî guncav di rûpelê de vedihewîne tevde bikin. Ger hûn plan dikin ku balê bikişînin ser hêmanek ne-înteraktîf ku bi gelemperî balê nagire, pê ewle bin ku tabindex="-1"hûn li hêmanê zêde bikin.

CSS

Variables

Di v5.2.0 de hate zêdekirin

Wekî beşek ji nêzîkbûna guhêrbarên CSS-ê yên pêşveçûyî yên Bootstrap, hişyarî naha guhêrbarên CSS-ê yên herêmî li ser .alertji bo xwerûkirina rast-dema pêşkeftî bikar tînin. Nirxên ji bo guhêrbarên CSS bi Sass ve têne danîn, ji ber vê yekê xwerûkirina Sass hîn jî piştgirî ye.

  --#{$prefix}alert-bg: transparent;
  --#{$prefix}alert-padding-x: #{$alert-padding-x};
  --#{$prefix}alert-padding-y: #{$alert-padding-y};
  --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom};
  --#{$prefix}alert-color: inherit;
  --#{$prefix}alert-border-color: transparent;
  --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}alert-border-color);
  --#{$prefix}alert-border-radius: #{$alert-border-radius};
  

Guherbarên Sass

$alert-padding-y:               $spacer;
$alert-padding-x:               $spacer;
$alert-margin-bottom:           1rem;
$alert-border-radius:           $border-radius;
$alert-link-font-weight:        $font-weight-bold;
$alert-border-width:            $border-width;
$alert-bg-scale:                -80%;
$alert-border-scale:            -70%;
$alert-color-scale:             40%;
$alert-dismissible-padding-r:   $alert-padding-x * 3; // 3x covers width of x plus default padding on either side

Sass mixin

Bi hev re tê bikar $theme-colorsanîn da ku ji bo hişyariyên me dersên guhêrbar ên kontekstî biafirînin.

@mixin alert-variant($background, $border, $color) {
  --#{$prefix}alert-color: #{$color};
  --#{$prefix}alert-bg: #{$background};
  --#{$prefix}alert-border-color: #{$border};

  @if $enable-gradients {
    background-image: var(--#{$prefix}gradient);
  }

  .alert-link {
    color: shade-color($color, 20%);
  }
}

Sass loop

Loopa ku bi alert-variant()mixin re çînên guhêrbar çêdike.

// Generate contextual modifier classes for colorizing the alert.

@each $state, $value in $theme-colors {
  $alert-background: shift-color($value, $alert-bg-scale);
  $alert-border: shift-color($value, $alert-border-scale);
  $alert-color: shift-color($value, $alert-color-scale);

  @if (contrast-ratio($alert-background, $alert-color) < $min-contrast-ratio) {
    $alert-color: mix($value, color-contrast($alert-background), abs($alert-color-scale));
  }
  .alert-#{$state} {
    @include alert-variant($alert-background, $alert-border, $alert-color);
  }
}

tevgera JavaScript

Destpêkirin

Destpêk hêmanên wek alerts

const alertList = document.querySelectorAll('.alert')
const alerts = [...alertList].map(element => new bootstrap.Alert(element))

Ji bo yekane armanca rakirina hişyariyek, ne hewce ye ku hûn bi desta hêmanê bi navgîniya JS API-ê dest pê bikin. Bi karanîna data-bs-dismiss="alert", pêkhat dê bixweber were destpêkirin û bi rêkûpêk were derxistin.

Ji bo bêtir agahdarî li beşa tetikan binêrin.

Triggers

Veqetandin dikare bi datataybetmendiya li ser bişkokek di hundurê hişyariyê de ku li jêr hatî destnîşan kirin were bidestxistin:

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

an li ser bişkokek li derveyî hişyariyê bi karanîna data-bs-targetku li jêr hatî destnîşan kirin bikar bînin:

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

Têbînî ku girtina hişyariyek wê ji DOM-ê derxîne.

Methods

Hûn dikarin bi çêkerê hişyariyê mînakek hişyariyê biafirînin, mînakî:

const bsAlert = new bootstrap.Alert('#myAlert')

Ev dihêle ku hişyariyek guh bide bûyerên klîk ên li ser hêmanên dûv ku xwedî data-bs-dismiss="alert"taybetmendî ne. (Gava ku destpêkirina xweseriya data-api bikar bînin ne hewce ye.)

Awa Terîf
close Bi rakirina wê ji DOM-ê hişyariyek digire. Ger çînên .fadeû .showli ser hêmanê hebin, berî ku were rakirin hişyar dê biqede.
dispose Hişyariya elementek hilweşîne. (Daneyên hilanîn ên li ser hêmana DOM-ê radike)
getInstance Rêbaza statîk ku dihêle hûn mînaka hişyariyê ya ku bi hêmanek DOM-ê ve girêdayî ye bistînin. Mînak bootstrap.Alert.getInstance(alert):.
getOrCreateInstance Rêbaza statîkî ya ku mînakek hişyariyê ya ku bi hêmanek DOM-ê ve girêdayî vedigerîne an heke ew nehatibe destpêkirin nûvekek nû diafirîne. Hûn dikarin wê bi vî rengî bikar bînin bootstrap.Alert.getOrCreateInstance(element):.

Bikaranîna bingehîn:

const alert = bootstrap.Alert.getOrCreateInstance('#myAlert')
alert.close()

Events

Pêveka hişyariya Bootstrap çend bûyeran ji bo girêdana fonksiyona hişyariyê eşkere dike.

Bûyer Terîf
close.bs.alert closeDema ku rêbaza nimûneyê tê gazîkirin tavilê dişewite .
closed.bs.alert Dema ku hişyarî hate girtin û veguheztinên CSS-ê qediyan, tê şewitandin.
const myAlert = document.getElementById('myAlert')
myAlert.addEventListener('closed.bs.alert', event => {
  // do something, for instance, explicitly move focus to the most appropriate element,
  // so it doesn't get lost/reset to the start of the page
  // document.getElementById('...').focus()
})