Popovers
Overview
Things to know when using the popover plugin:
Popovers for more bootstrao components
Bootstrap Popovers documentation
-
Popovers rely on the 3rd party library
Popper.js for
positioning. You must include
popper.min.js
before bootstrap.js or use
bootstrap.bundle.min.js/bootstrap.bundle.jswhich contains Popper.js in order for popovers to work! - Popovers require the tooltip plugin as a dependency.
- Popovers are opt-in for performance reasons, so you must initialize them yourself.
-
Zero-length
titleandcontentvalues will never show a popover. -
Specify
container: 'body'to avoid rendering problems in more complex components (like our input groups, button groups, etc). - Triggering popovers on hidden elements will not work.
-
Popovers for
.disabledordisabledelements must be triggered on a wrapper element. -
When triggered from anchors that wrap across multiple lines,
popovers will be centered between the anchors' overall
width. Use
.text-nowrapon your<a>s to avoid this behavior. - Popovers must be hidden before their corresponding elements have been removed from the DOM.
- Popovers can be triggered thanks to an element inside a shadow DOM.
The animation effect of this component is dependent on the
prefers-reduced-motion media query. See the
reduced motion section of our accessibility
documentation.
Example: Enable popovers everywhere
One way to initialize all popovers on a page would be to
select them by their data-toggle attribute:
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
return new bootstrap.Popover(popoverTriggerEl)
})
Example: Using the container option
When you have some styles on a parent element that interfere
with a popover, you’ll want to specify a custom
container so that the popover’s HTML appears
within that element instead.
var popover = new bootstrap.Popover(document.querySelector('.example-popover'), {
container: 'body'
})
Example
<button type="button" class="btn btn-lg btn-danger" data-toggle="popover" title="Popover title" data-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
Four directions
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
Popover on top
</button>
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="right" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
Popover on right
</button>
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
Popover on bottom
</button>
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="left" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
Popover on left
</button>




