Bootstrap 4 Toast: Enhancing User Experience with Stylish Notifications


In the world of web development, creating a user-friendly and visually appealing interface is essential. One effective way to enhance the user experience is by implementing notifications or toasts. Bootstrap 4, a popular front-end framework, provides a built-in component called “Toast” that allows developers to display non-disruptive messages to users. In this article, we will explore Bootstrap 4 Toast and learn how to implement it in your web projects.

1. What is Bootstrap 4 Toast?

Bootstrap 4 Toast is a lightweight and customizable component that provides a simple way to display notifications or messages to users. These notifications are non-disruptive, meaning they do not require any user interaction to dismiss. Toasts are commonly used to provide feedback on user actions, inform about updates or errors, or simply display important information.

2. Setting up Bootstrap 4

Before we start using Bootstrap 4 Toast, we need to set up Bootstrap in our project. You can include Bootstrap via a CDN or by downloading the CSS and JavaScript files. Make sure to add the necessary dependencies to your HTML file before proceeding with toast implementation.

3. Creating a Basic Toast

To create a basic toast, you need to structure the HTML and add some JavaScript code. Here’s an example:

<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
  <div class="toast-header">
    <strong class="mr-auto">Bootstrap Toast</strong>
    <small class="text-muted">Just now</small>
    <button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
      <span aria-hidden="true">&times;</span>
  <div class="toast-body">
    This is a simple Bootstrap toast notification.

The above code represents the structure of a basic toast. It includes a header section, where you can specify the title and other details, and a body section for the actual content of the toast.

4. Customizing Toast Appearance

Bootstrap 4 Toast provides various classes to customize the appearance of the toast. You can modify the background color, text color, and other visual aspects. For example, you can use the bg-info class to change the background color to blue:

<div class="toast bg-info" role="alert" aria-live="assertive" aria-atomic="true">
  <!-- Toast content -->

Feel free to experiment with different classes to achieve the desired look for your toasts.

5. Toast Positions

By default, toasts appear at the top-right corner of the screen. However, Bootstrap 4 Toast allows you to position them in different areas. You can use the following classes to control the toast position:

  • toast-top-right: Top right corner (default)
  • toast-top-left: Top left corner
  • toast-bottom-right: Bottom right corner
  • toast-bottom-left: Bottom left corner

Add the desired position class to the toast container element:

<div class="toast toast-top-left" role="alert" aria-live="assertive" aria-atomic="true">
  <!-- Toast content -->

6. Dismissing Toasts

Toasts can be easily dismissed by users. By default, Bootstrap 4 Toast provides a close button to dismiss the toast. If you want to disable the close button, simply remove the button element from the toast code.

To dismiss a toast programmatically using JavaScript, you can use the following code:

var toast = document.querySelector('.toast');
var toastInstance = new bootstrap.Toast(toast);

The above code selects the toast element using the .toast class and creates a Toast instance. The hide() method is then called to dismiss the toast.

7. Events and Callbacks

Bootstrap 4 Toast provides several events that you can use to perform actions when a toast is shown or hidden. For example, the event is fired immediately when the show instance method is called:

var toast = document.querySelector('.toast');
toast.addEventListener('', function () {
  // Perform actions when toast is shown

Similarly, you can listen for the event to perform actions when the toast is hidden.

8. Controlling Toast Duration

By default, toasts stay visible for a few seconds and then fade out. If you want to control the duration or disable the auto-hide behavior, you can use the autohide and delay attributes. Set data-autohide="false" to disable auto-hiding and adjust the data-delay value to specify a custom duration in milliseconds.

<div class="toast" role="alert" aria-live="assertive" aria-atomic="true" data-autohide="false" data-delay="5000">
  <!-- Toast content -->

In the above example, the toast will stay visible until dismissed by the user, regardless of the delay value.

9. Nesting Toasts

You can nest multiple toasts within a container to display them simultaneously. This can be useful when you need to show multiple notifications to the user. Simply add multiple toast elements within the container:

<div class="toast-container">
  <div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
    <!-- Toast content -->
  <div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
    <!-- Toast content -->

10. Advanced Options

Bootstrap 4 Toast offers additional options and methods for further customization. You can explore the official Bootstrap documentation to learn about these advanced options and implement them according to your requirements.

11. Styling Toasts

To style toasts with custom CSS, you can target the .toast class or any specific classes added to the toast elements. You have full control over the styling, including font, background color, borders, and animations. Use CSS rules to modify the appearance as needed.

12. Using Transitions with Toasts

Bootstrap 4 Toast utilizes CSS transitions for smooth animations. You can leverage these transitions or even create your own custom transitions using CSS animations. By combining toast functionality with transitions, you can create visually appealing notifications that engage the user.

13. Accessibility Considerations

When implementing toasts

, it’s important to consider accessibility. Ensure that toasts have appropriate role and aria attributes for screen readers. Also, make sure the toast content is accessible and understandable to users with disabilities.

14. Best Practices for Using Toasts

Here are some best practices to keep in mind when using Bootstrap 4 Toast:

  • Use toasts sparingly and only when necessary to avoid overwhelming the user.
  • Keep the content concise and informative.
  • Use appropriate colors and styling to maintain consistency with your website’s design.
  • Test the toasts on different devices and screen sizes to ensure they are displayed correctly.
  • Consider the impact of toasts on the overall user experience and make adjustments as needed.

15. Conclusion

Bootstrap 4 Toast is a valuable component for enhancing user experience by providing stylish and non-disruptive notifications. By following the guidelines and examples presented in this article, you can easily implement toast notifications in your web projects. Experiment with different options, customize the appearance, and make your website more engaging with Bootstrap 4 Toast.


Can I use Bootstrap 4 Toast without Bootstrap framework?

No, Bootstrap 4 Toast is a component provided by the Bootstrap framework. You need to include the necessary Bootstrap files in your project for toast functionality.

How can I change the position of a toast dynamically?

You can use JavaScript to dynamically change the position of a toast by modifying the classList of the toast container element. Simply add or remove the appropriate position classes based on your requirements.

Can I include buttons or links inside a toast?

Yes, you can include buttons or links inside a toast by adding the necessary HTML markup. However, keep in mind that adding interactive elements may require additional considerations for accessibility and user experience.

Are toasts supported in all web browsers?

Bootstrap 4 Toast relies on modern web technologies such as CSS transitions and JavaScript APIs. While it is compatible with most modern browsers, it’s recommended to test the toasts on different browsers to ensure consistent behavior.

How can I dismiss all toasts at once?

You can use JavaScript to select all toast elements and loop through them to dismiss each one programmatically. Create a Toast instance for each toast and call the hide() method within a loop.

Leave a Comment