HTML 공개 요약 요소 (<요약>) 요소는 ("상세") 요소의 공개 상자에 대한 요약, 캡션 또는 범례를 지정한다. <요약> 요소를 클릭하면 부모 <상세> 요소의 상태가 열리거나 닫힌다.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
| Permitted content | Phrasing content or one element of Heading content |
|---|---|
| Tag omission | None, both the start tag and the end tag are mandatory. |
| Permitted parents | The {{HTMLElement("details")}} element. |
| Permitted ARIA roles | {{ARIARole("button")}} |
| DOM interface | {{domxref("HTMLElement")}} |
This element only includes the global attributes.
The <summary> element's contents can be any heading content, plain text, or HTML that can be used within a paragraph.
A <summary> element may only be used as the first child of a <details> element. When the user clicks on the summary, the parent <details> element is toggled open or closed, and then a {{event("toggle")}} event is sent to the <details> element, which can be used to let you know when this state change occurs.
If a <details> element's first child is not a <summary> element, the {{Glossary("user agent")}} will use a default string (typically "Details") as the label for the disclosure box.
Per the HTML specification, the default style for <summary> elements includes display: list-item. This makes it possible to change or remove the icon displayed as the disclosure widget next to the label from the default, which is typically a triangle.
You can also change the style to display: block to remove the disclosure triangle.
See the {{anch("Browser compatibility")}} section for details, as not all browsers support full functionality of this element yet.
Below are some examples showing <summary> in use. You can find more examples in the documentation for the {{HTMLElement("details")}} element.
A simple example showing the use of <summary> in a {{HTMLElement("details")}} element:
<details open>
<summary>Overview</summary>
<ol>
<li>Cash on hand: $500.00</li>
<li>Current invoice: $75.30</li>
<li>Due date: 5/6/19</li>
</ol>
</details>
{{EmbedLiveSample("Basic_example", 650, 120)}}
You can use heading elements in <summary>, like this:
<details open>
<summary><h4>Overview</h4></summary>
<ol>
<li>Cash on hand: $500.00</li>
<li>Current invoice: $75.30</li>
<li>Due date: 5/6/19</li>
</ol>
</details>
{{EmbedLiveSample("Summaries_as_headings", 650, 120)}}
This currently has some spacing issues that could be addressed using CSS.
This example adds some semantics to the <summary> element to indicate the label as important:
<details open>
<summary><strong>Overview</strong></summary>
<ol>
<li>Cash on hand: $500.00</li>
<li>Current invoice: $75.30</li>
<li>Due date: 5/6/19</li>
</ol>
</details>
{{EmbedLiveSample("HTML_in_summaries", 650, 120)}}
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('HTML WHATWG', 'interactive-elements.html#the-summary-element', '<summary>')}} | {{Spec2('HTML WHATWG')}} | |
| {{SpecName('HTML5.1', 'interactive-elements.html#the-summary-element', '<summary>')}} | {{Spec2('HTML5.1')}} | Initial definition |
{{Compat("html.elements.summary")}}