HTML Popover API

The Popover API provides a native HTML way to create and manage popover content, such as menus, custom tooltips, and dialog-like interfaces, without requiring complex JavaScript for visibility and positioning.

Getting Started

The Popover API allows developers to create lightweight, context-aware UI elements that can be displayed on demand, such as tooltips, menus, or other overlays.

HTML
    <button id="infoButton">Info</button>
<div id="popoverContent" hidden>
  <p>This is a popover content example.</p>
</div>
  

The example above shows a button and a hidden popover content. The JavaScript below demonstrates how to use the Popover API to display the popover:

JAVASCRIPT
    const button = document.getElementById('infoButton');
const popover = document.getElementById('popoverContent');

button.addEventListener('click', () => {
  if (popover.hidden) {
    popover.hidden = false;
    button.setAttribute('popover', 'manual');
  } else {
    popover.hidden = true;
    button.removeAttribute('popover');
  }
});
  

CSS can be used to style the popover for better visual presentation. For example:

CSS
    #popoverContent {
  position: absolute;
  background: white;
  border: 1px solid #ccc;
  padding: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
  

By combining HTML, JavaScript, and CSS, developers can create interactive and visually appealing popovers that enhance user experience.

Back to Features

Links

MDN Documentation Web Components Repository

Browser not supported

This project is a demonstration of experimental web platform features.

chrome://flags