Table of Content
The <details> tag hides content and shows it when needed. It helps organize long pages. The tag shows extra info only when the user clicks.
Understand the <details> Tag in HTML
The <details> tag toggles extra content. It hides info by default and shows it when clicked. This tag helps keep pages clean and focused.
The tag wraps content that stays hidden. You can add a clickable title using the <summary> tag.
Here is an example:
<details>
<summary>Click to read more</summary>
<p>This is hidden content.</p>
</details>The <summary> tag acts as the toggle label. It’s the only visible part until the user clicks.
<details>
<summary>Details</summary>
<p>Extra content here.</p>
</details>Here are its use cases:
- FAQs
- Technical data
- Long explanations
- Optional content that may distract users if shown by default.
To keep content open by default, add the open attribute to <details>.
<details open>
<summary>Visible by default</summary>
<p>This content is already open.</p>
</details>The <details> and <summary> tags work in most modern browsers. It includes many browsers such as:
- Chrome
- Edge
- Firefox
- Safari
Old versions of IE do not support it.
How to Style <details> and <summary> with CSS
Use CSS to change toggle styles and hover effects. This improves clarity and user experience.
details {
padding: 10px;
border: 1px solid #ccc;
}
summary {
font-weight: bold;
cursor: pointer;
}Nest Content Inside <details>
You can include paragraphs or images. Or even another <details> block. Nested content also stays hidden until opened.
<details>
<summary>Section</summary>
<p>Intro text</p>
<details>
<summary>More details</summary>
<p>Nested content here.</p>
</details>
</details>
Examples of the <details> Tag in HTML
Toggle FAQ Section:
<details>
<summary>What is HTML?</summary>
<p>HTML is the markup language for web pages.</p>
</details>This shows a basic FAQ-style toggle. Users click the question to view the answer. It works well for help pages and user guides.
Product Features Panel:
<details>
<summary>View Product Features</summary>
<ul>
<li>Waterproof</li>
<li>Bluetooth 5.2</li>
<li>10-hour battery</li>
</ul>
</details>This uses a list inside <details>. The summary acts as a headline. It’s useful on product pages for optional specifications.
Nested Code Explanation:
<details>
<summary>JavaScript Example</summary>
<p>Click below to see the code:</p>
<details>
<summary>Show Code</summary>
<pre><code> function greet(name) { return 'Hello ' + name; } console.log(greet('Sam')); </code></pre>
</details>
</details>This shows a nested structure. The first layer explains, and the second layer contains actual code. Useful for tutorials or docs.
Wrapping Up
In this article, you learned what the <details> tag does and how to use it with <summary>. You also saw how to style it and nest content.
Here is a quick recap:
<details>toggles visibility<summary>creates the toggle button- Use
opento show by default - CSS can style both tags
- Nest is possible
- It’s well-supported in modern browsers
FAQs
What is the purpose of the <details> tag in HTML?
How do I use <summary> inside <details> correctly?
Can I nest <details> tags inside each other?
Do all browsers support the <details> and <summary> tags?
Similar Reads
The title tag in HTML shows the page name in the browser tab and helps search engines know the topic.…
The HTML s tag places a line across text that has no longer value or does not hold importance. It…
HTML syntax shows how tags and attributes go together. It gives browsers the rules to read and display a page.…
The HTML samp tag shows the result of a computer program or command. It helps readers know which text came…
The nav tag defines a navigation block in HTML. It holds main links to other parts of your site. Search…
This guide shows how to build HTML with separate parts as components and how each part helps in reuse and…
HTML Boolean attributes control the behavior of elements and do not need a value. These attributes simplify logic and reduce…
The HTML class attribute helps group elements. It helps you update the page style without changing the structure of HTML.…
Use the <base> tag in HTML to set a single base URL or target for all relative links and resources…
The <code> tag in HTML shows short code, command names, or output. Use it to display text that the browser…