Tooltips & Popovers
Tooltips and Popovers are built on Popper.js (bundled with Bootstrap). Both require JavaScript initialisation. Rence Material applies the dark Material style to tooltips and card-like elevation to popovers automatically.
Note: Tooltips and Popovers are opt-in — they must be explicitly initialised via JavaScript as shown in the code examples below.
Tooltips
Add data-bs-toggle="tooltip" and a title attribute to any element. Control placement with data-bs-placement (top, right, bottom, left).
HTML + JS
<!-- Tooltips require initialization via JS (or Bootstrap's data-api) -->
<button type="button" class="btn btn-primary" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top">
Tooltip on top
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right" title="Tooltip on right">
Right
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Tooltip on bottom">
Bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip on left">
Left
</button>
<script>
// Initialize all tooltips on the page
const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]');
tooltipTriggerList.forEach(el => new bootstrap.Tooltip(el));
</script>Popovers
Popovers are like tooltips but with optional titles and larger body content. Use data-bs-toggle="popover" and initialise via JS. They require clicking to toggle.
HTML + JS
<!-- Popovers (require JS initialization like tooltips) -->
<button type="button" class="btn btn-primary"
data-bs-toggle="popover"
data-bs-placement="right"
data-bs-title="Popover title"
data-bs-content="And here's some amazing content. It's very engaging. Right?">
Click to toggle popover
</button>
<script>
const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]');
popoverTriggerList.forEach(el => new bootstrap.Popover(el));
</script>