The Bootstrap JS Tooltip plugin is a simple yet powerful feature that lets you add interactive, informative tooltips to your web elements. Tooltips appear when users hover over, focus on, or tap a specific element, providing additional context or information without cluttering the interface.
In this tutorial, you’ll learn how to implement and customize tooltips using the Bootstrap JS Tooltip plugin.
1. What Are Tooltips in Bootstrap?
Tooltips are small pop-up messages that provide additional information about an element. They’re commonly used to improve user experience by offering hints, guidance, or extra details.
Use Case: Tooltips are perfect for buttons, icons, forms, or any element that might need clarification.
2. Prerequisites
To use the Tooltip plugin, you need Bootstrap and jQuery files included in your project.
Include Bootstrap Files:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
3. Basic Tooltip Example
Adding tooltips in Bootstrap is simple. Use the data-toggle="tooltip"
attribute on the desired element and set the title
attribute for the tooltip text.
Example:
<button type="button" class="btn btn-default" data-toggle="tooltip" title="This is a tooltip!">
Hover over me
</button>
4. Activating Tooltips with JavaScript
Bootstrap tooltips need to be activated using JavaScript. Add the following code to initialize all tooltips on the page:
Initialization Code:
$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip();
});
This ensures that all elements with the data-toggle="tooltip"
attribute will display tooltips.
5. Customizing Tooltips
You can customize the appearance and behavior of tooltips using Bootstrap options, methods, and events.
Tooltip Placement:
Control where the tooltip appears using the data-placement
attribute.
Placement Option | Description |
---|---|
top | Tooltip above element |
bottom | Tooltip below element |
left | Tooltip to the left |
right | Tooltip to the right |
Example:
<button type="button" class="btn btn-primary" data-toggle="tooltip" data-placement="top" title="Tooltip on top">
Top
</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="right" title="Tooltip on right">
Right
</button>
6. Advanced Tooltip Options
You can configure additional options for tooltips programmatically.
Example:
$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip({
animation: true, // Enable or disable animation
delay: { show: 500, hide: 100 }, // Delay in ms
html: true, // Allow HTML content in the tooltip
trigger: 'click' // Trigger the tooltip on click
});
});
Key Tooltip Options:
Option | Description |
---|---|
animation | Enable or disable CSS fade animation. |
html | Allow HTML content inside tooltips. |
placement | Position of the tooltip (top , bottom , etc.). |
trigger | Events that trigger the tooltip (hover , click , focus ). |
delay | Delay before showing/hiding tooltips. |
7. Tooltip Events
Bootstrap tooltips emit events during their lifecycle, allowing you to trigger custom actions.
Tooltip Events:
Event | Description |
---|---|
show.bs.tooltip | Fired when a tooltip is about to be shown. |
shown.bs.tooltip | Fired after a tooltip is fully shown. |
hide.bs.tooltip | Fired when a tooltip is about to be hidden. |
hidden.bs.tooltip | Fired after a tooltip is fully hidden. |
Example:
$('[data-toggle="tooltip"]').on('shown.bs.tooltip', function () {
console.log('Tooltip is now visible!');
});
8. Styling Tooltips
You can customize the appearance of tooltips using CSS.
Example:
.tooltip {
font-size: 14px;
background-color: #007BFF;
color: #fff;
border-radius: 5px;
}
.tooltip .tooltip-arrow {
border-color: #007BFF;
}
9. Common Issues and Troubleshooting
- Tooltip Not Displaying: Ensure that the
data-toggle="tooltip"
attribute is present and thetitle
attribute is not empty. - Tooltip Positioning Issues: Verify that the element has enough space for the tooltip. Adjust placement or use CSS to fix conflicts.
- Initialization Problems: Always include the initialization script to activate tooltips.
10. Best Practices for Tooltips
- Keep Tooltips Short: Tooltips should provide concise, helpful information.
- Test Across Devices: Ensure tooltips work well on both desktop and mobile devices.
- Use Meaningful Triggers: Avoid using tooltips for essential content that might be missed by screen readers.
11. Practical Tooltip Examples
Form Input Tooltip:
Provide additional guidance for form inputs using tooltips.
<input type="text" class="form-control" data-toggle="tooltip" data-placement="right" title="Enter your username">
Icon Tooltip:
Add a tooltip to an icon for clarification.
<i class="glyphicon glyphicon-info-sign" data-toggle="tooltip" title="More information"></i>
Button Tooltip:
Add a tooltip to a button for extra context.
<button type="button" class="btn btn-success" data-toggle="tooltip" title="Submit your form">
Submit
</button>
Conclusion
The Bootstrap JS Tooltip plugin is a versatile and user-friendly tool for adding context and interactivity to your website. With minimal setup and extensive customization options, tooltips can significantly improve your site’s usability and design.