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 <img> and <br> do not require
a closing slash. Both <br> and <br /> 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 erforderlichopen-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
- aside: ergänzende Inhalte
- figure und figcaption erneut betrachtet
- details und summary: Aufklappkomponente
- Die Elemente progress und meter