DEV Community

Cover image for Bootstrap 5 Toasts
Keep Coding
Keep Coding

Posted on

Bootstrap 5 Toasts

What are Bootstrap Toasts?

Bootstrap Toast component is a non-disruptive message in the corner of the interface. It provides quick "at-a-glance" feedback on the outcome of an action.

Push notifications to your visitors with a 'toast', a lightweight and easily customizable alert message. Toasts are designed to mimic the push notifications that have been popularized by mobile and desktop operating systems.


Installation

Manual installation (zip package)

To take advantage of our Bootstrap images component and use them in your project, you first need to install the MDB 5 Free package


MDB CLI

Watch our Quick Start Tutorial to discover and use the full potential of MDB 5 and MDB CLI


NPM

Prerequisites

Before starting the project make sure to install Node LTS (12.x.x recommended).

Installation

To install MDB UI KIT in your project easily type the following command in the terminal:

npm i mdb-ui-kit 
Enter fullscreen mode Exit fullscreen mode
Importing JS modules

You can import the entire library or just individual modules:

import * as mdb from 'mdb-ui-kit'; // lib
import { Input } from 'mdb-ui-kit'; // module 
Enter fullscreen mode Exit fullscreen mode
Importing CSS file

To import MDB stylesheet please use the following syntax:

@import '~mdb-ui-kit/css/mdb.min.css'; 
Enter fullscreen mode Exit fullscreen mode
Importing SCSS modules

You can also import individual SCSS modules. To do it properly, we recommend to copy them from the node_modules/mdb-ui-kit/src/scss location directly to your project and import in the same way as CSS files.

Webpack integration

You can significantly speed up the process of creating a new project based on Webpack using our Starter.


CDN

Installation via CDN is one of the easiest methods of integrating MDB UI KIT with your project. Just copy the latest compiled JS script tag and CSS link tag from cdnjs to the application.

Don't forget to add also Font Awesome and Roboto font if you need. Here's an example code:

CSS
<!-- Font Awesome -->
<link
  href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css"
  rel="stylesheet"
/>
<!-- Google Fonts -->
<link
  href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"
  rel="stylesheet"
/>
<!-- MDB -->
<link
  href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.3.0/mdb.min.css"
  rel="stylesheet"
/>
Enter fullscreen mode Exit fullscreen mode
JS
<!-- MDB -->
<script
  type="text/javascript"
  src="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.3.0/mdb.min.js"
></script>
Enter fullscreen mode Exit fullscreen mode

Customization

Basic example
HTML
<!-- Trigger buttons -->
<button type="button" class="btn btn-primary" id="basic-primary-trigger">Primary</button>
<button type="button" class="btn btn-secondary" id="basic-secondary-trigger">
  Secondary
</button>
<button type="button" class="btn btn-success" id="basic-success-trigger">Success</button>
<button type="button" class="btn btn-danger" id="basic-danger-trigger">Danger</button>
<button type="button" class="btn btn-warning" id="basic-warning-trigger">Warning</button>
<button type="button" class="btn btn-info" id="basic-info-trigger">Info</button>
<button type="button" class="btn btn-light" id="basic-light-trigger">Light</button>
<button type="button" class="btn btn-dark" id="basic-dark-trigger">Dark</button>

<!-- Toasts -->
<div
  class="toast fade mx-auto"
  id="basic-primary-example"
  role="alert"
  aria-live="assertive"
  aria-atomic="true"
  data-mdb-autohide="true"
  data-mdb-delay="2000"
  data-mdb-position="top-right"
  data-mdb-append-to-body="true"
  data-mdb-stacking="true"
  data-mdb-width="350px"
  data-mdb-color="primary"
>
  <div class="toast-header text-white">
    <strong class="me-auto">MDBootstrap</strong>
    <small>11 mins ago</small>
    <button type="button" class="btn-close btn-close-white" data-mdb-dismiss="toast" aria-label="Close"></button>
  </div>
  <div class="toast-body text-white">Primary Basic Example</div>
</div>

<div
  class="toast fade mx-auto"
  id="basic-secondary-example"
  role="alert"
  aria-live="assertive"
  aria-atomic="true"
  data-mdb-autohide="true"
  data-mdb-delay="2000"
  data-mdb-position="top-right"
  data-mdb-append-to-body="true"
  data-mdb-stacking="true"
  data-mdb-width="350px"
  data-mdb-color="secondary"
>
  <div class="toast-header text-white">
    <strong class="me-auto">MDBootstrap</strong>
    <small>11 mins ago</small>
    <button type="button" class="btn-close btn-close-white" data-mdb-dismiss="toast" aria-label="Close"></button>
  </div>
  <div class="toast-body text-white">Secondary Basic Example</div>
</div>

<div
  class="toast fade mx-auto"
  id="basic-success-example"
  role="alert"
  aria-live="assertive"
  aria-atomic="true"
  data-mdb-autohide="true"
  data-mdb-delay="2000"
  data-mdb-position="top-right"
  data-mdb-append-to-body="true"
  data-mdb-stacking="true"
  data-mdb-width="350px"
  data-mdb-color="success"
>
  <div class="toast-header text-white">
    <strong class="me-auto">MDBootstrap</strong>
    <small>11 mins ago</small>
    <button type="button" class="btn-close btn-close-white" data-mdb-dismiss="toast" aria-label="Close"></button>
  </div>
  <div class="toast-body text-white">Success Basic Example</div>
</div>

<div
  class="toast fade mx-auto"
  id="basic-danger-example"
  role="alert"
  aria-live="assertive"
  aria-atomic="true"
  data-mdb-autohide="true"
  data-mdb-delay="2000"
  data-mdb-position="top-right"
  data-mdb-append-to-body="true"
  data-mdb-stacking="true"
  data-mdb-width="350px"
  data-mdb-color="danger"
>
  <div class="toast-header text-white">
    <strong class="me-auto">MDBootstrap</strong>
    <small>11 mins ago</small>
    <button type="button" class="btn-close btn-close-white" data-mdb-dismiss="toast" aria-label="Close"></button>
  </div>
  <div class="toast-body text-white">Danger Basic Example</div>
</div>

<div
  class="toast fade mx-auto"
  id="basic-warning-example"
  role="alert"
  aria-live="assertive"
  aria-atomic="true"
  data-mdb-autohide="true"
  data-mdb-delay="2000"
  data-mdb-position="top-right"
  data-mdb-append-to-body="true"
  data-mdb-stacking="true"
  data-mdb-width="350px"
  data-mdb-color="warning"
>
  <div class="toast-header text-white">
    <strong class="me-auto">MDBootstrap</strong>
    <small>11 mins ago</small>
    <button type="button" class="btn-close btn-close-white" data-mdb-dismiss="toast" aria-label="Close"></button>
  </div>
  <div class="toast-body text-white">Warning Basic Example</div>
</div>

<div
  class="toast fade mx-auto"
  id="basic-info-example"
  role="alert"
  aria-live="assertive"
  aria-atomic="true"
  data-mdb-autohide="true"
  data-mdb-delay="2000"
  data-mdb-position="top-right"
  data-mdb-append-to-body="true"
  data-mdb-stacking="true"
  data-mdb-width="350px"
  data-mdb-color="info"
>
  <div class="toast-header text-white">
    <strong class="me-auto">MDBootstrap</strong>
    <small>11 mins ago</small>
    <button type="button" class="btn-close btn-close-white" data-mdb-dismiss="toast" aria-label="Close"></button>
  </div>
  <div class="toast-body text-white">Info Basic Example</div>
</div>

<div
  class="toast fade mx-auto"
  id="basic-light-example"
  role="alert"
  aria-live="assertive"
  aria-atomic="true"
  data-mdb-autohide="true"
  data-mdb-delay="2000"
  data-mdb-position="top-right"
  data-mdb-append-to-body="true"
  data-mdb-stacking="true"
  data-mdb-width="350px"
  data-mdb-color="light"
>
  <div class="toast-header">
    <strong class="me-auto">MDBootstrap</strong>
    <small>11 mins ago</small>
    <button type="button" class="btn-close" data-mdb-dismiss="toast" aria-label="Close"></button>
  </div>
  <div class="toast-body">Light Basic Example</div>
</div>

<div
  class="toast fade mx-auto"
  id="basic-dark-example"
  role="alert"
  aria-live="assertive"
  aria-atomic="true"
  data-mdb-autohide="true"
  data-mdb-delay="2000"
  data-mdb-position="top-right"
  data-mdb-append-to-body="true"
  data-mdb-stacking="true"
  data-mdb-width="350px"
  data-mdb-color="dark"
>
  <div class="toast-header text-white">
    <strong class="me-auto">MDBootstrap</strong>
    <small>11 mins ago</small>
    <button type="button" class="btn-close btn-close-white" data-mdb-dismiss="toast" aria-label="Close"></button>
  </div>
  <div class="toast-body text-white">Dark Basic Example</div>
</div>
Enter fullscreen mode Exit fullscreen mode
JS
const toasts = [ 'basic-primary-example',
'basic-secondary-example',
'basic-success-example',
'basic-danger-example',
'basic-warning-example',
'basic-info-example',
'basic-light-example',
'basic-dark-example',
];

const triggers = [
'basic-primary-trigger',
'basic-secondary-trigger',
'basic-success-trigger',
'basic-danger-trigger',
'basic-warning-trigger',
'basic-info-trigger',
'basic-light-trigger',
'basic-dark-trigger',
];

triggers.forEach((trigger, index) => {
  let basicInstance = mdb.Toast.getInstance(document.getElementById(toasts[index]));
  document.getElementById(trigger).addEventListener('click', () => {
    basicInstance.show();
  });
});
Enter fullscreen mode Exit fullscreen mode

Static example
HTML
<div
  class="toast show fade mx-auto"
  id="static-example"
  role="alert"
  aria-live="assertive"
  aria-atomic="true"
  data-mdb-autohide="false"
>
  <div class="toast-header">
    <strong class="me-auto">MDBootstrap</strong>
    <small>11 mins ago</small>
    <button
      type="button"
      class="btn-close"
      data-mdb-dismiss="toast"
      aria-label="Close"
    ></button>
  </div>
  <div class="toast-body">Static Example</div>
</div>
Enter fullscreen mode Exit fullscreen mode
JS
const staticInstance = mdb.Toast.getInstance(document.getElementById('static-example'));
staticInstance.show();
Enter fullscreen mode Exit fullscreen mode

You can see more customization examples on the ๐Ÿ“„ Toasts documentation page


Crucial Resources

Here are the resources that we have prepared to help you work with this component:

  1. Read ๐Ÿ“„ Toasts documentation page <-- start here
  2. In to get the most out of your project, you should also get acquainted with other Components options related to Toasts. See the section below to find the list of them.
  3. You can use predesigned Components in ๐Ÿ“ฅ Starter Bootstrap 5 templates
  4. Templates are a part of ๐Ÿ“ฆ Free UI Kit for Bootstrap 5
  5. After finishing the project you can publish it with CLI in order to receive ๐Ÿ’ฝ Free hosting (beta)

Related Content and Styles options & features


Learn Bootstrap 5 in 1.5H


Additional resources

Learn web development with our learning roadmap:
๐ŸŽ“ Start Learning

Join our mailing list & receive exclusive resources for developers
๐ŸŽ Get gifts

Join our private FB group for inspiration & community experience
๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Ask to join

Support creation of open-source packages with a STAR on GitHub
GitHub Stars

Top comments (1)

Collapse
 
quasipickle profile image
Dylan Anderson

MDB isn't necessary for Bootstrap or Bootstrap toasts.

I dunno - seems kind of dishonest to label this as "Bootstrap" when it's really a MDB advertisement.