<dialog>
HTML <dialog> Tag
The <dialog> tag is one of the HTML5 elements. It is used to create a native dialog box, with which the user interacts and performs certain actions. For example, you can create pop-up messages or forms with this element. The dialog box is hidden from view by default. It is activated by the open attribute.
To display/hide the content, we need Javascript API.
If <form> elements are specified with the method=“dialog” attribute, they can be combined within a dialog. If such a form is provided, the dialog is closed with the returnValue attribute.
For styling behind the <dialog> element, you can use the CSS ::backdrop pseudo-element.
Syntax
Syntax
The <dialog> tag comes in pairs. The content is written between the opening (<dialog>) and closing (</dialog>) tags.
Example of the HTML <dialog> tag:
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
dialog {
width: 40%;
}
</style>
</head>
<body>
<div>
<dialog id="DialogExample">
<p>
Here is some text for example.
</p>
<button id="hide">Close dialog text</button>
</dialog>
<button id="show">Show dialog text</button>
</div>
<script type="text/JavaScript">
(function() { var dialog = document.getElementById('DialogExample'); document.getElementById('show').onclick = function() { dialog.show(); }; document.getElementById('hide').onclick = function() { dialog.close(); }; })();
</script>
</body>
</html>
Result
Attributes
Attributes
Attribute | Value | Description |
---|---|---|
open | open | Indicates that the dialog box is active, and the user can interact with it. |
The<dialog> tag also supports the Global Attributes and the Event Attributes.
How to style <dialog> tag? Common properties to alter the visual weight/emphasis/size of text in <dialog> tag:
CSS font-style property sets the style of the font. normal | italic | oblique | initial | inherit. CSS font-family property specifies a prioritized list of one or more font family names and/or generic family names for the selected element. CSS font-size property sets the size of the font. CSS font-weight property defines whether the font should be bold or thick. CSS text-transform property controls text case and capitalization. CSS text-decoration property specifies the decoration added to text, and is a shorthand property for text-decoration-line, text-decoration-color, text-decoration-style.
Coloring text in <dialog> tag:
CSS color property describes the color of the text content and text decorations. CSS background-color property sets the background color of an element.
Text layout styles for <dialog> tag:
CSS text-indent property specifies the indentation of the first line in a text block. CSS text-overflow property specifies how overflowed content that is not displayed should be signalled to the user. CSS white-space property specifies how white-space inside an element is handled. CSS word-break property specifies where the lines should be broken.
Other properties worth looking at for <dialog> tag:
CSS text-shadow property adds shadow to text. CSS text-align-last property sets the alignment of the last line of the text. CSS line-height property specifies the height of a line. CSS letter-spacing property defines the spaces between letters/characters in a text. CSS word-spacing property sets the spacing between words.