The popover component allows content to be placed in the popup that appears after clicking on a button. Popover is build on top of the <details>
HTML component.
HTML
<details class="popover">
<summary class="link-button">Click for details</summary>
<div class="popover-content">
<p class="margin-bottom-xs">It can be a paragraph of text.</p>
<p class="margin-bottom-xxs">Or a list:</p>
<ul>
<li>
<a href="#">List item</a>
</li>
<li>
<a href="#">List item</a>
</li>
<li>
<a href="#">List item</a>
</li>
</ul>
<p class="margin-top-xs">Or basically anything else you can think of.</p>
</div>
</details>
You can apply almost any classes on the summary
element to achieve the look you need. The following example applies .button
.
Popover content.
HTML
<details class="popover">
<summary class="button border">
<span class="icon color-primary">
<svg class="fill-current-color" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 2048">
<path
d="M256 896q27 0 50 10t40 27 28 41 10 50q0 27-10 50t-27 40-41 28-50 10q-27 0-50-10t-40-27-28-41-10-50q0-27 10-50t27-40 41-28 50-10zm768 0q27 0 50 10t40 27 28 41 10 50q0 27-10 50t-27 40-41 28-50 10q-27 0-50-10t-40-27-28-41-10-50q0-27 10-50t27-40 41-28 50-10zm768 0q27 0 50 10t40 27 28 41 10 50q0 27-10 50t-27 40-41 28-50 10q-27 0-50-10t-40-27-28-41-10-50q0-27 10-50t27-40 41-28 50-10z"
/>
</svg>
</span>
</summary>
<div class="popover-content">
<p>Popover content.</p>
</div>
</details>
Popover is left aligned by default, but also can be centered or right aligned relatively to the summary
's width. Apply any of the corresponding classes to the popover
element: popover-right
, popover-center
.
Popover aligned to the left
Popover content.
Popover centered
Popover content.
Popover aligned to the right
Popover content.
HTML
<details class="popover margin-xxs">
<summary class="button">Popover aligned to the left</summary>
<div class="popover-content">Popover content.</div>
</details>
<details class="popover popover-center margin-xxs">
<summary id="test-popover-summary" class="button">Popover centered</summary>
<div id="test-popover-content" class="popover-content">Popover content.</div>
</details>
<details class="popover popover-right margin-xxs">
<summary class="button">Popover aligned to the right</summary>
<div class="popover-content">Popover content.</div>
</details>
The popover can also show up above the button.
Popover on top
Popover content.
HTML
<details class="popover popover-top margin-xxs">
<summary class="button">Popover on top</summary>
<div class="popover-content">Popover content.</div>
</details>
Vertical and horizontal alignment can be used together.
Popover aligned to the left
Popover content.
Popover centered
Popover content.
Popover aligned to the right
Popover content.
HTML
<details class="popover popover-top margin-xxs">
<summary class="button">Popover aligned to the left</summary>
<div class="popover-content">Popover content.</div>
</details>
<details class="popover popover-top popover-center margin-xxs">
<summary class="button">Popover centered</summary>
<div class="popover-content">Popover content.</div>
</details>
<details class="popover popover-top popover-right margin-xxs">
<summary class="button">Popover aligned to the right</summary>
<div class="popover-content">Popover content.</div>
</details>