Four options are available: top, right, bottom, and left aligned.
<div class="row mt-4 mb-3">
<div class="col-lg-3">
<a class="d-block text-center text-decoration-none" href="#" data-bs-container="body"
data-bs-toggle="popover" data-bs-placement="top"
title="Popover title"
data-bs-content="And here's some amazing content. It's very engaging. Top?">
<h6>Popover on top</h6>
</a>
</div>
<div class="col-lg-3">
<a class="d-block text-center text-decoration-none" href="#" data-bs-container="body"
data-bs-toggle="popover" data-bs-placement="right"
title="Popover title"
data-bs-content="And here's some amazing content. It's very engaging. Right?">
<h6>Popover on right</h6>
</a>
</div>
<div class="col-lg-3">
<a class="d-block text-center text-decoration-none" href="#" data-bs-container="body"
data-bs-toggle="popover" data-bs-placement="bottom"
title="Popover title"
data-bs-content="And here's some amazing content. It's very engaging. Bottom?">
<h6>Popover on bottom</h6>
</a>
</div>
<div class="col-lg-3">
<a class="d-block text-center text-decoration-none" href="#" data-bs-container="body"
data-bs-toggle="popover" data-bs-placement="left"
title="Popover title"
data-bs-content="And here's some amazing content. It's very engaging. Left?">
<h6>Popover on left</h6>
</a>
</div>
</div>
// INITIALIZATION POPOVER
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
return new bootstrap.Popover(popoverTriggerEl)
})
Use the focus
trigger to dismiss popovers on the user’s next click of a different element than the toggle element.
<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-bs-toggle="popover"
data-bs-trigger="focus" title="Dismissible popover"
data-bs-content="And here's some amazing content. It's very engaging. Right?">
Dismissible popover
</a>
// INITIALIZATION POPOVER
var popover = new bootstrap.Popover(document.querySelector('.popover-dismiss'), {
trigger: 'focus'
})