Негизги мазмунга өтүү Документтердин навигациясына өтүү
in English

Alerts

Колдонуучунун типтүү аракеттери үчүн контексттик пикир билдирүүлөрүн жеткиликтүү жана ийкемдүү эскертүү билдирүүлөрү менен камсыз кылыңыз.

Мисалдар

Эскертүүлөр тексттин каалаган узундугу үчүн жеткиликтүү, ошондой эле кошумча жабуу баскычы. Туура стилдөө үчүн талап кылынган сегиз контексттик класстын бирин колдонуңуз (мисалы, .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 спрайтын жасоону карап көрүңүз.

<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>
Эскертүү четке кагылганда, элемент барак структурасынан толугу менен алынып салынат. Эгерде клавиатуранын колдонуучусу эскертүүнү жабуу баскычын колдонуп четке кагса, алардын фокусу күтүлбөгөн жерден жоголот жана браузерге жараша беттин/документтин башына кайтарылат. Ушул себептен улам, биз окуяны угуучу жана программалык түрдө баракчадагы эң ылайыктуу жерге closed.bs.alertорноткон кошумча JavaScriptти кошууну сунуштайбыз. focus()Эгерде сиз фокусту демейде фокус албаган интерактивдүү эмес элементке жылдырууну пландап жатсаңыз, tabindex="-1"элементке кошууну унутпаңыз.

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

Вариант аралашмасы

$theme-colorsБиздин эскертүүлөр үчүн контексттик өзгөрткүч класстарды түзүү үчүн айкалышта колдонулат .

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

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

Loop

Миксин менен модификатор класстарын түзүүчү цикл 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 автоматтык түрдө инициализациясын колдонууда зарыл эмес.)

Метод Description
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'тин эскертүү плагини эскертүү функциясына кирүү үчүн бир нече окуяларды ачып берет.

Окуя Description
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()
})