<dialog>: The DIALOG Element

Last updated: 2026-10-13

<dialog>The DIALOG Element

Represents a dialog box or modal, opened via JavaScript showModal()/show().

CategorySemantic
Content ModelFlow content
Allowed ParentsAny element that accepts flow content
Content TagYes — requires closing </dialog> tag
StatusStandard

📝 Syntax

<dialog>dialog content</dialog>

▶ Example

Edit the code below and see the live result in the playground:

🌐 Browser Support

Browser ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
<dialog> ✓ v1 ✓ v12 ✓ v1 ✓ v1 ✓ v1
Supported in all major browsers
Tip: showModal() gives a native modal (backdrop + Esc to close); the open attribute shows it non-modally.

❓ FAQ

QHow does dialog differ from a plain div modal?
A<dialog> is the native modal element: opened with showModal() it renders in the top layer (covering everything), traps focus, and closes on Esc — no hand-written z-index or focus trap needed. A div modal has to build all of that itself.
QWhat is the difference between showModal and show on dialog?
AshowModal() opens a modal dialog: backdrop, the rest of the page blocked from interaction, and Esc to close. show() opens a non-modal dialog: no backdrop, users can still interact with the rest of the page. Both close via close().
QCan dialog be styled with CSS?
AYes. The backdrop is styled through the ::backdrop pseudo-element and the dialog body uses normal CSS. Be careful not to override the display behavior driven by the open state — dialog[open] styling matters.
More case studies coming soon — check back later.

📚 Related Tutorials

Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏