* Initial spike of consolidated form checks * Stub out forms rearrangement - Prepping to drop non-custom file and range inputs - Prepping to merge custom and native checks and radios (with switches) - Prepping to merge custom select with form select - Moving docs arround so forms has it's own area given volume of CSS * Move input group Sass file to forms subdir * Start to split and move the docs around * Simpler imports * Copyediting * delete overview file * Remove commented out code * remove the custom-forms import * rewrite flex-check as form-check, replace all custom properties * Remove old forms doc * stub out new subpage link section * update migration guide * Update nav, forms overview in page nav, and descriptions * fix check bg position * fix margin-top calculation * rename .custom-select to .form-select * Update validation styles for new checks * add some vertical margin, fix inline checks * fix docs examples * better way to do this contents stuff, redo the toc while i'm at it * page restyle for docs while here * un-callout that, edit text * redo padding on toc * fix toc * start to cleanup checks docs * Rewrite Markdown tables into HTML * Redesign tables, redo their docs * Replace Open Iconic icons with custom Bootstrap icons * Redesign the docs navbar, add a subheader, redo the sidebar * Redesign docs homepage a bit * Simplify table style overrides for docs tables * Simplify docs typography for page titles and reading line length * Stub out icons page * Part of sidebar update, remove migration from nav.yml * Move toc CSS to separate partial * Change appearance of overview page * fix sidebar arrow direction * Add footer to docs layout * Update descriptions * Drop the .form-group class for margin utilities * Remove lingering form-group-margin-bottom var * improve footer spacing * add headings to range page * uncomment form range css * Rename .custom-range to .form-range * Drop unused docs var * Uncomment the comment * Remove unused variable * Fix radio image sizing * Reboot update: reset horizontal ul and ol padding * de-dupe IDs * tweak toc styles * nvm, fix dropdown versions stuff * remove sidebar nav toggle for now * broken html * fix more broken html, move css * scss linting * comment out broken helper docs * scope styles * scope styles * Fixes #25540 and fixes #26407 for v5 only * Update sidebar once more * Match new sidenav order * fix syntax error * Rename custom-file to form-file, update paths, update migration docs for previous changes in #28696 * rename back * fix size and alignment * rename that back too
5.4 KiB
layout | title | description | group | aliases | toc | ||
---|---|---|---|---|---|---|---|
docs | Alerts | Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages. | components |
|
true |
Examples
Alerts are available for any length of text, as well as an optional dismiss button. For proper styling, use one of the eight required contextual classes (e.g., .alert-success
). For inline dismissal, use the alerts JavaScript plugin.
{{< example >}} {{< alerts.inline >}} {{- range (index $.Site.Data "theme-colors") }}
{{< callout info >}} {{< partial "callout-warning-color-assistive-technologies.md" >}} {{< /callout >}}
Link color
Use the .alert-link
utility class to quickly provide matching colored links within any alert.
{{< example >}} {{< alerts.inline >}} {{- range (index $.Site.Data "theme-colors") }}
Additional content
Alerts can also contain additional HTML elements like headings, paragraphs and dividers.
{{< example >}}
Well done!
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.
Whenever you need to, be sure to use margin utilities to keep things nice and tidy.
Dismissing
Using the alert JavaScript plugin, it's possible to dismiss any alert inline. Here's how:
- Be sure you've loaded the alert plugin, or the compiled Bootstrap JavaScript.
- Add a dismiss button and the
.alert-dismissible
class, which adds extra padding to the right of the alert and positions the.close
button. - On the dismiss button, add the
data-dismiss="alert"
attribute, which triggers the JavaScript functionality. Be sure to use the<button>
element with it for proper behavior across all devices. - To animate alerts when dismissing them, be sure to add the
.fade
and.show
classes.
You can see this in action with a live demo:
{{< example >}}
JavaScript behavior
Triggers
Enable dismissal of an alert via JavaScript:
{{< highlight js >}} var alertList = document.querySelectorAll('.alert') alertList.forEach(function (alert) { new bootstrap.Alert(alert) }) {{< /highlight >}}
Or with data
attributes on a button within the alert, as demonstrated above:
{{< highlight html >}}
{{< /highlight >}}Note that closing an alert will remove it from the DOM.
Methods
You can create an alert instance with the alert constructor, for example:
{{< highlight js >}} var myAlert = document.getElementById('myAlert') var bsAlert = new bootstrap.Alert(myAlert) {{< /highlight >}}
This makes an alert listen for click events on descendant elements which have the data-dismiss="alert"
attribute. (Not necessary when using the data-api's auto-initialization.)
Method | Description |
---|---|
close
|
Closes an alert by removing it from the DOM. If the .fade and .show classes are present on the element, the alert will fade out before it is removed.
|
dispose
|
Destroys an element's alert. |
_getInstance
|
Static method which allows you to get the alert instance associated to a DOM element, you can use it like this: bootstrap.Alert._getInstance(alert)
|
{{< highlight js >}} var alertNode = document.querySelector('.alert') var alert = bootstrap.Alert._getInstance(alertNode) alert.close() {{< /highlight >}}
Events
Bootstrap's alert plugin exposes a few events for hooking into alert functionality.
Event | Description |
---|---|
close.bs.alert |
Fires immediately when the close instance method is called.
|
closed.bs.alert |
Fired when the alert has been closed and CSS transitions have completed. |
{{< highlight js >}} var myAlert = document.getElementById('myAlert') myAlert.addEventListener('closed.bs.alert', function () { // do something… }) {{< /highlight >}}