Известувања
Обезбедете контекстуални пораки за повратни информации за типични кориснички дејства со неколку достапни и флексибилни пораки за предупредување.
Примери
Достапни се предупредувања за која било должина на текст, како и опционално копче за затворање. За правилен стајлинг, користете една од осумте потребни контекстуални класи (на пр., .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>
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()
})