HTML details Tag: How to Toggle Hidden Content

html details tag

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 open to 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?

The <details> tag hides extra content by default. Users can expand it to view more info without cluttering the page.

How do I use <summary> inside <details> correctly?

Use one <summary> as the first child of the <details>. This makes it the clickable toggle for the hidden content.

Can I nest <details> tags inside each other?

Yes, you can place one <details> inside another. This lets you build expandable sections inside larger collapsible blocks.

Do all browsers support the <details> and <summary> tags?

Most modern browsers support both tags. However, older browsers like Internet Explorer may not render them properly.

Similar Reads

HTML Style Attribute: How it Works with Examples

You use the style attribute to add CSS to a single HTML element without using a stylesheet or class. What…

HTML noscript Tag: How to Display Fallback When JS Is Disabled

The HTML noscript tag tells the browser what to show when JavaScript does not run. This tag targets users who…

HTML hr Tag: Horizontal Rules

The <hr> tag in HTML gives you a fast way to split content with a clean horizontal line. You may…

HTML id Attribute: How to Assign Unique Identifiers to Elements

The id attribute adds a unique name to an HTML element. It helps with CSS and JavaScript in the page.…

HTML Article Tag: How to Create Semantic Content

Semantic article tag in HTML uses clear tags that show the role of each part. These tags tell browsers and…

HTML template Tag: How it Works with Examples

The HTML <template> tag lets you store HTML content that won’t show up right away. JavaScript can pull it in…

HTML Boolean Attributes with Examples

HTML Boolean attributes control the behavior of elements and do not need a value. These attributes simplify logic and reduce…

HTML br Tag: Line Breaks

The br tag adds a single line break in HTML. It is an empty tag that does not need a…

HTML Input Tag: How It Works, Types & Examples

The HTML input tag lets you add fields for user data in forms. You use this tag to collect text,…

HTML style Tag: Inline CSS

The style tag in HTML defines CSS inside a web page. Click to see how it works with syntax and…

Previous Article

HTML dialog Tag: How to Create Dialog Boxes

Next Article

HTML script Tag: How to Add JavaScript to a Web Page

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *


Subscribe to Get Updates

Get the latest updates on Coding, Database, and Algorithms straight to your inbox.
No spam. Unsubscribe anytime.