Прескокнете до главната содржина Прескокнете до навигацијата со документи
in English

Известувања

Обезбедете контекстуални пораки за повратни информации за типични кориснички дејства со неколку достапни и флексибилни пораки за предупредување.

Примери

Достапни се предупредувања за која било должина на текст, како и опционално копче за затворање. За правилен стајлинг, користете една од осумте потребни контекстуални класи (на пр., .alert-success). За внатрешно отпуштање, користете го приклучокот JavaScript за предупредувања .

<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>
Пренесување значење на помошните технологии

Користењето боја за додавање значење обезбедува само визуелна индикација, која нема да биде пренесена до корисниците на помошни технологии - како што се читачите на екранот. Осигурајте се дека информациите означени со бојата се или очигледни од самата содржина (на пр. видлив текст), или се вклучени преку алтернативни средства, како што е дополнителен текст скриен со .visually-hiddenкласата.

Користете ја .alert-linkуслужната класа за брзо да обезбедите врски во боја што одговараат во секое предупредување.

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

Дополнителна содржина

Известувањата може да содржат и дополнителни 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>

Икони

Слично на тоа, можете да ги користите алатките за flexbox и Bootstrap Icons за да креирате предупредувања со икони. Во зависност од вашите икони и содржина, можеби ќе сакате да додадете повеќе алатки или сопствени стилови.

<div class="alert alert-primary d-flex align-items-center" role="alert">
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" 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>

Ви треба повеќе од една икона за вашите предупредувања? Размислете за користење на повеќе Bootstrap икони и правење локален SVG sprite како таков за лесно да ги повикувате истите икони постојано.

<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
  <symbol id="check-circle-fill" fill="currentColor" 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" fill="currentColor" 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" fill="currentColor" 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" width="24" height="24" 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" width="24" height="24" 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" width="24" height="24" 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" width="24" height="24" role="img" aria-label="Danger:"><use xlink:href="#exclamation-triangle-fill"/></svg>
  <div>
    An example danger alert with an icon
  </div>
</div>

Отфрлање

Користејќи го приклучокот за предупредување JavaScript, можно е да се отфрли секое предупредување внатре. Еве како:

  • Бидете сигурни дека сте го вчитале приклучокот за предупредување или компајлираниот Bootstrap JavaScript.
  • Додајте копче за затворање и .alert-dismissibleкласа, која додава дополнително полнење десно од предупредувањето и го позиционира копчето за затворање.
  • На копчето за затворање, додадете го data-bs-dismiss="alert"атрибутот, кој ја активира функционалноста на JavaScript. Не заборавајте да го користите <button>елементот со него за правилно однесување на сите уреди.
  • За да ги анимирате предупредувањата кога ги отфрлате, задолжително додајте ги .fadeкласите и .show.

Можете да го видите ова на дело со демо во живо:

<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>
Кога предупредувањето е отфрлено, елементот целосно се отстранува од структурата на страницата. Ако корисникот на тастатурата го отфрли предупредувањето користејќи го копчето за затворање, неговиот фокус одеднаш ќе се изгуби и, во зависност од прелистувачот, ќе се ресетира на почеток на страницата/документот. Поради оваа причина, препорачуваме да вклучите дополнителен JavaScript што го слуша closed.bs.alertнастанот и програмски се поставува focus()на најсоодветната локација на страницата. Ако планирате да го преместите фокусот на неинтеактивен елемент кој вообичаено не добива фокус, погрижете се да го додадете tabindex="-1"во елементот.

Сас

Променливи

$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

Варијанта миксин

Се користи во комбинација со $theme-colorsза создавање класи на контекстуални модификатори за нашите предупредувања.

@mixin alert-variant($background, $border, $color) {
  color: $color;
  @include gradient-bg($background);
  border-color: $border;

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

Јамка

Јамка што ги генерира класите на модификаторите со alert-variant()миксинот.

// 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);
  }
}

Однесување на JavaScript

Предизвикувачи

Овозможете отфрлање на предупредување преку JavaScript:

var alertList = document.querySelectorAll('.alert')
alertList.forEach(function (alert) {
  new bootstrap.Alert(alert)
})

Или со dataатрибути на копче во предупредувањето , како што е прикажано погоре:

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

Имајте предвид дека затворањето на предупредувањето ќе го отстрани од DOM.

Методи

Можете да креирате пример за предупредување со конструкторот за предупредување, на пример:

var myAlert = document.getElementById('myAlert')
var bsAlert = new bootstrap.Alert(myAlert)

Ова го прави предупредувањето да слуша за настани со кликнување на елементите потомци кои го имаат data-bs-dismiss="alert"атрибутот. (Не е потребно кога се користи автоматската иницијализација на data-api.)

Метод Опис
close Затвора предупредување со отстранување од DOM. Ако класите .fadeи .showсе присутни на елементот, предупредувањето ќе избледи пред да се отстрани.
dispose Уништува предупредување за елемент. (Ги отстранува зачуваните податоци на елементот DOM)
getInstance Статички метод кој ви овозможува да го добиете примерот за предупредување поврзан со елементот DOM, можете да го користите вака:bootstrap.Alert.getInstance(alert)
getOrCreateInstance Статички метод кој враќа инстанца за предупредување поврзан со елемент на DOM или создава нов во случај да не е иницијализиран. Можете да го користите вака:bootstrap.Alert.getOrCreateInstance(element)
var alertNode = document.querySelector('.alert')
var alert = bootstrap.Alert.getInstance(alertNode)
alert.close()

Настани

Приклучокот за предупредување на Bootstrap изложува неколку настани за приклучување на функционалноста за предупредување.

Настан Опис
close.bs.alert Запали веднаш кога closeќе се повика методот на пример.
closed.bs.alert Се активира кога предупредувањето е затворено и CSS транзициите се завршени.
var myAlert = document.getElementById('myAlert')
myAlert.addEventListener('closed.bs.alert', function () {
  // 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()
})