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 .
<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-hidden
polê 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).
<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')
})
}
Rengê girêdanê
.alert-link
Dersa karûbar bikar bînin da ku zû di hundurê her hişyariyê de girêdanên rengîn ên lihevhatî peyda bikin.
<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.
Aferîn!
Aww erê, we bi serfirazî vê peyama hişyariya girîng xwend. Ev nivîsa nimûneyê dê hinekî dirêjtir bimeşe da ku hûn bibînin ka valahiya di nav hişyariyekê de bi vî rengî naverok çawa dixebite.
Kengê ku hûn hewce ne, pê ewle bin ku hûn karûbarên marjînal bikar bînin da ku tiştan xweş û paqij bihêlin.
<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.
<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.
<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-dismissible
pola 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:
<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
bû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êdekirinWekî 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 .alert
ji 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-colors
anî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 data
taybetmendiya 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-target
ku 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 û .show li 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 |
close Dema 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()
})