Pāriet uz galveno saturu Pāriet uz dokumentu navigāciju
in English

Brīdinājumi

Nodrošiniet kontekstuālus atgriezeniskās saites ziņojumus tipiskām lietotāja darbībām, izmantojot nedaudzus pieejamus un elastīgus brīdinājuma ziņojumus.

Piemēri

Brīdinājumi ir pieejami jebkura garuma tekstam, kā arī izvēles aizvēršanas poga. Pareizam stilam izmantojiet vienu no astoņām obligātajām kontekstuālajām klasēm (piemēram, .alert-success). Iekļautai atlaišanai izmantojiet brīdinājumu JavaScript spraudni .

<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>
Nozīmes nodošana palīgtehnoloģijām

Krāsu izmantošana nozīmes pievienošanai nodrošina tikai vizuālu norādi, kas netiks nodota palīgtehnoloģiju lietotājiem, piemēram, ekrāna lasītājiem. Nodrošiniet, lai informācija, kas apzīmēta ar krāsu, būtu vai nu acīmredzama no paša satura (piemēram, redzamā teksta), vai arī tā ir iekļauta, izmantojot alternatīvus līdzekļus, piemēram, ar .visually-hiddenklasi paslēptu papildu tekstu.

Izmantojiet .alert-linklietderības klasi, lai jebkurā brīdinājumā ātri nodrošinātu atbilstošas ​​krāsas saites.

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

Papildu saturs

Brīdinājumi var saturēt arī papildu HTML elementus, piemēram, virsrakstus, rindkopas un atdalītājus.

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

Ikonas

Tāpat varat izmantot flexbox utilītas un Bootstrap ikonas , lai izveidotu brīdinājumus ar ikonām. Atkarībā no jūsu ikonām un satura, iespējams, vēlēsities pievienot vairāk utilītu vai pielāgotu stilu.

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

Brīdinājumiem nepieciešama vairāk nekā viena ikona? Apsveriet iespēju izmantot vairāk Bootstrap ikonu un izveidot līdzīgu lokālu SVG sprite, lai viegli atkārtoti atsauktos uz tām pašām ikonām.

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

Notiek atlaišana

Izmantojot brīdinājuma JavaScript spraudni, ir iespējams noraidīt visus iekļautos brīdinājumus. Lūk, kā to izdarīt:

  • Pārliecinieties, vai esat ielādējis brīdinājuma spraudni vai kompilēto Bootstrap JavaScript.
  • Pievienojiet aizvēršanas pogu un .alert-dismissibleklasi, kas pievieno papildu polsterējumu brīdinājuma labajā pusē un novieto aizvēršanas pogu.
  • Aizvēršanas pogā pievienojiet data-bs-dismiss="alert"atribūtu, kas aktivizē JavaScript funkcionalitāti. Noteikti izmantojiet <button>elementu kopā ar to, lai nodrošinātu pareizu darbību visās ierīcēs.
  • Lai animētu brīdinājumus, tos noraidot, noteikti pievienojiet .fadeun .showklases.

To var redzēt darbībā, izmantojot tiešraides demonstrāciju:

<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>
Kad brīdinājums tiek noraidīts, elements tiek pilnībā noņemts no lapas struktūras. Ja tastatūras lietotājs noraida brīdinājumu, izmantojot aizvēršanas pogu, viņa fokuss pēkšņi tiks zaudēts un atkarībā no pārlūkprogrammas tiks atiestatīts uz lapas/dokumenta sākumu. Šī iemesla dēļ mēs iesakām iekļaut papildu JavaScript, kas noklausās closed.bs.alertnotikumu un programmatiski iestata focus()vispiemērotāko vietu lapā. Ja plānojat pārvietot fokusu uz neinteraktīvu elementu, kas parasti netiek fokusēts, noteikti pievienojiet tabindex="-1"elementu.

Sass

Mainīgie lielumi

$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

Variants mixin

Izmanto kopā ar $theme-colors, lai izveidotu kontekstuālo modifikatoru klases mūsu brīdinājumiem.

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

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

Cilpa

Cilpa, kas ģenerē modifikatoru klases ar alert-variant()mixin.

// 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 uzvedība

Trigeri

Iespējot brīdinājuma noraidīšanu, izmantojot JavaScript:

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

Vai arī ar dataatribūtiem uz pogas brīdinājumā , kā parādīts iepriekš:

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

Ņemiet vērā, ka, aizverot brīdinājumu, tas tiks noņemts no DOM.

Metodes

Varat izveidot brīdinājuma gadījumu, izmantojot brīdinājuma konstruktoru, piemēram:

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

Tas liek brīdinājumam noklausīties klikšķu notikumus pēcnācēju elementos, kuriem ir data-bs-dismiss="alert"atribūts. (Nav nepieciešams, ja tiek izmantota datu api automātiskā inicializēšana.)

Metode Apraksts
close Aizver brīdinājumu, noņemot to no DOM. Ja elementā ir .fadeun .showklases, brīdinājums pazudīs pirms tā noņemšanas.
dispose Iznīcina elementa brīdinājumu. (Noņem DOM elementā saglabātos datus)
getInstance Statiskā metode, kas ļauj iegūt brīdinājuma gadījumu, kas saistīts ar DOM elementu, varat to izmantot šādi:bootstrap.Alert.getInstance(alert)
getOrCreateInstance Statiskā metode, kas atgriež brīdinājuma gadījumu, kas saistīts ar DOM elementu, vai izveido jaunu, ja tas nav inicializēts. Varat to izmantot šādi:bootstrap.Alert.getOrCreateInstance(element)
var alertNode = document.querySelector('.alert')
var alert = bootstrap.Alert.getInstance(alertNode)
alert.close()

Pasākumi

Bootstrap brīdinājumu spraudnis atklāj dažus notikumus, lai piesaistītu brīdinājuma funkcionalitāti.

Pasākums Apraksts
close.bs.alert Aktivizējas nekavējoties, kad closetiek izsaukta instances metode.
closed.bs.alert Tiek aktivizēts, kad brīdinājums ir aizvērts un CSS pārejas ir pabeigtas.
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()
})