docs.rodeo

MDN Web Docs mirror

Popover API

{{DefaultAPISidebar("Popover API")}} 

The Popover API provides developers with a standard, consistent, flexible mechanism for displaying popover content on top of other page content. Popover content can be controlled either declaratively using HTML attributes, or via JavaScript.

Concepts and usage

A very common pattern on the web is to show content over the top of other content, drawing the user’s attention to specific important information or actions that need to be taken. This content can take several different names — overlays, popups, popovers, dialogs, etc. We will refer to them as popovers through the documentation. Generally speaking, these can be:

Popovers created using the Popover API are always non-modal. If you want to create a modal popover, a {{htmlelement("dialog")}}  element is the right way to go. There is significant overlap between the two — you might for example want to create a popover that persists, but control it using declarative HTML. You can turn a <dialog> element into a popover (<dialog popover> is perfectly valid) if you want to combine popover control with dialog semantics.

Typical use cases for the popover API include user-interactive elements like action menus, custom “toast” notifications, form element suggestions, content pickers, or teaching UI.

You can create popovers in two different ways:

There are also new events to react to a popover being toggled, and CSS features to aid in styling popovers. All the new features are listed below.

See Using the popover API for a detailed guide to using this API.

HTML attributes

CSS features

Interfaces

Extensions to other interfaces

Instance properties

Instance methods

Events

Examples

See our Popover API examples landing page to access the full collection of MDN popover examples.

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN