0Pricing
HTML Academy · Lektion

details und summary: Aufklappkomponente

Erstellen Sie native Komponenten zum Ein- und Ausklappen ohne JavaScript

details und summary: Aufklappkomponente ist eine kostenlose HTML Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des HTML Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der HTML Academy-Kurs umfasst insgesamt 4 Lektionen.

Was sind details und summary?

Die Elemente <details> und <summary> erstellen ein natives Disclosure-Widget — eine Komponente zum Auf- und Zuklappen — ganz ohne JavaScript:

<details>
  <summary>What is HTML?</summary>
  <p>HTML (HyperText Markup Language) is the standard markup language
     used to create web pages.</p>
</details>

So funktioniert es

Interaktionsverhalten:

  • Standardmäßig ist nur <summary> sichtbar
  • Durch Klicken auf summary wird die Sichtbarkeit des restlichen Inhalts umgeschaltet
  • Standardmäßig erscheint auf summary ein Disclosure-Dreieck
  • Es ist kein JavaScript erforderlich

Das open-Attribut

Das open-Attribut zeigt das details-Element bereits ausgeklappt an:

<details open>
  <summary>Installation instructions</summary>
  <ol>
    <li>Download the installer</li>
    <li>Run the installer</li>
    <li>Restart your computer</li>
  </ol>
</details>
<!-- open is a boolean attribute: presence = expanded -->
<!-- Remove it to start collapsed -->

Eine FAQ erstellen

FAQ-Abschnitte sind ein idealer Anwendungsfall:

<h2>Frequently Asked Questions</h2>

<details>
  <summary>Is HTML5 a programming language?</summary>
  <p>No. HTML5 is a markup language that defines the structure and meaning
     of web content. Programming languages like JavaScript add logic and behavior.</p>
</details>

<details>
  <summary>Do I need to close void elements?</summary>
  <p>In HTML5, void elements like &lt;img&gt; and &lt;br&gt; do not require
     a closing slash. Both &lt;br&gt; and &lt;br /&gt; are valid.</p>
</details>

details und summary gestalten

Passen Sie das Erscheinungsbild an:

details {
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
}

summary {
  font-weight: 600;
  cursor: pointer;
  list-style: none;   /* remove default triangle */
}

summary::before {
  content: '▶ ';      /* custom arrow */
}

details[open] > summary::before {
  content: '▼ ';      /* rotate when open */
}

Das standardmäßige Dreieck entfernen

Das Disclosure-Dreieck wird mit list-style angewendet:

/* Remove the default arrow: */
summary {
  list-style: none;
}

/* Firefox: */
summary::-webkit-details-marker {
  display: none;
}

/* Then add a custom indicator: */
summary::after {
  content: '+';
  float: right;
}
details[open] summary::after {
  content: '−';
}

Das toggle-Ereignis

Reagieren Sie mit dem toggle-Ereignis auf das Öffnen und Schließen:

const details = document.querySelector('details');

details.addEventListener('toggle', () => {
  if (details.open) {
    console.log('Details opened');
    // Track analytics, load content, etc.
  } else {
    console.log('Details closed');
  }
});

Akkordeon mit details

Erstellen Sie ein einfaches Akkordeon — immer nur ein Panel gleichzeitig geöffnet:

/* Pure CSS accordion using details: */
/* Each item is a details element */
/* For exclusive open, use JavaScript: */

const allDetails = document.querySelectorAll('details');
allDetails.forEach(d => {
  d.addEventListener('toggle', () => {
    if (d.open) {
      allDetails.forEach(other => {
        if (other !== d) other.removeAttribute('open');
      });
    }
  });
});

Barrierefreiheit von details/summary

Integrierte Funktionen für Barrierefreiheit:

  • summary erhält den Tastaturfokus und kann mit der Eingabetaste oder der Leertaste aktiviert werden
  • Screenreader geben den summary-Text und den Aufklappstatus aus
  • Der ausgeblendete Inhalt befindet sich im DOM, wird aber bis zum Aufklappen als ausgeblendet angekündigt

name-Attribut für ein exklusives Akkordeon

HTML 2025 ergänzt details um name für ein natives exklusives Akkordeon:

<details name="faq">
  <summary>Question 1</summary>
  <p>Answer 1...</p>
</details>

<details name="faq">
  <summary>Question 2</summary>
  <p>Answer 2...</p>
</details>
<!-- details with the same name act as a group -->
<!-- Opening one closes the others automatically -->
<!-- Supported in Chrome 120+ and Firefox 130+ -->

Inhalte mit toggle verzögert laden

Laden Sie Inhalte erst, wenn details geöffnet wird:

<details id="advanced">
  <summary>Load advanced settings...</summary>
  <div id="advanced-content">Loading...</div>
</details>

<script>
const d = document.getElementById('advanced');
d.addEventListener('toggle', async () => {
  if (d.open) {
    const res = await fetch('/api/settings');
    const html = await res.text();
    document.getElementById('advanced-content').innerHTML = html;
    d.removeEventListener('toggle', arguments.callee);
  }
}, { once: true });
</script>

Schnelltest

Welches Element stellt den immer sichtbaren Auslösetext in einem details-Disclosure-Widget bereit?

Zusammenfassung: Details und Überblick

Die wichtigsten Grundlagen des Disclosure-Widgets:

  • <details> + <summary> — natives Auf- und Zuklappen, kein JavaScript erforderlich
  • open-Attribut — standardmäßig geöffnet
  • toggle-Ereignis — auf das Öffnen und Schließen reagieren
  • Mit CSS gestalten; das standardmäßige Dreieck mit list-style: none entfernen
  • name-Attribut — exklusives Akkordeon (Chrome 120+)

Häufig gestellte Fragen

Ist die Lektion „details und summary: Aufklappkomponente“ kostenlos?

Ja — der vollständige Text von „details und summary: Aufklappkomponente“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des HTML Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der HTML Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „details und summary: Aufklappkomponente“?

Erstellen Sie native Komponenten zum Ein- und Ausklappen ohne JavaScript Du übst HTML Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um HTML Academy zu starten?

Keine Vorkenntnisse erforderlich. HTML Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „details und summary: Aufklappkomponente“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser HTML Academy-Lektion Code schreiben und ausführen?

Ja. Jede HTML Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. aside: ergänzende Inhalte
  2. figure und figcaption erneut betrachtet
  3. details und summary: Aufklappkomponente
  4. Die Elemente progress und meter
← Zurück zu HTML Academy