BS5 Popover

Bootstrap 5 Popovers are small overlay popups that display additional information or actions when an element is clicked or hovered.

Key Topics

Basic Popover

Enable popovers using the data-bs-toggle="popover" attribute and the title and data-bs-content attributes.

<button type="button" class="btn btn-primary" data-bs-toggle="popover" title="Popover Title" data-bs-content="This is a basic popover.">
    Click me
</button>

Explanation: The data-bs-toggle="popover" attribute enables the popover, while title and data-bs-content define its content.

Popover Placement

Set the popover's position using the data-bs-placement attribute with values like top, bottom, left, or right.

<button type="button" class="btn btn-secondary" data-bs-toggle="popover" data-bs-placement="top" title="Top Popover" data-bs-content="Popover on top.">
    Popover Top
</button>

Explanation: The data-bs-placement attribute specifies the direction of the popover.

Popover with HTML

Enable HTML content in popovers by setting the data-bs-html="true" attribute.

<button type="button" class="btn btn-success" data-bs-toggle="popover" data-bs-html="true" title="HTML Popover" data-bs-content="<b>Bold Text</b> and <i>italic text</i>">
    HTML Popover
</button>

Explanation: The data-bs-html="true" attribute allows rendering of HTML inside the popover.

Complete Popover Example

Here is a complete example demonstrating popovers with different placements and content types.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bootstrap 5 Popover Demo</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container my-4">
        <h2>Bootstrap Popover</h2>
        <button type="button" class="btn btn-primary" data-bs-toggle="popover" title="Basic Popover" data-bs-content="This is a basic popover.">
            Basic Popover
        </button>
        <button type="button" class="btn btn-secondary" data-bs-toggle="popover" data-bs-placement="top" title="Top Popover" data-bs-content="Popover on top.">
            Popover Top
        </button>
        <button type="button" class="btn btn-success" data-bs-toggle="popover" data-bs-html="true" title="HTML Popover" data-bs-content="<b>Bold Text</b> and <i>italic text</i>">
            HTML Popover
        </button>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    <script>
        var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'));
        var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
            return new bootstrap.Popover(popoverTriggerEl);
        });
    </script>
</body>
</html>

Explanation: This example combines default, positioned, and HTML popovers for a comprehensive demonstration.

Key Takeaways

  • Use data-bs-toggle="popover" to enable popovers.
  • Customize positions with data-bs-placement.
  • Enable HTML content with data-bs-html="true".