Die <details> und <summary> Tags sind HTML5-Elemente, die
es ermöglichen, Inhalte zusammenzufassen und auszublenden,
wodurch Benutzer die Möglichkeit haben, bestimmte Teile
einer Webseite zu verbergen oder anzuzeigen. Dies ist
besonders nützlich, um längere Texte oder zusätzliche
Informationen in einer kompakten Form darzustellen und dem
Benutzer die Kontrolle über die Anzeige zu geben.
Die Syntax für die Verwendung von <details> und <summary>
ist einfach:
<details>
<summary>Zusammenfassung</summary>
<!--
Hier kommt der versteckte Inhalt -->
<p>Versteckter Text,
der bei Bedarf angezeigt werden kann.</p>
</details>
Der <details> Tag umschließt den Inhalt, der versteckt
oder angezeigt werden soll. Der <summary> Tag wird innerhalb
des <details> Tags platziert und fungiert als Titel oder
Zusammenfassung für den versteckten Inhalt. Der versteckte
Inhalt wird standardmäßig ausgeblendet und erscheint nur,
wenn der Benutzer auf die Zusammenfassung klickt. Wenn der
versteckte Inhalt sichtbar ist, wird er direkt unterhalb der
Zusammenfassung angezeigt. Der Benutzer kann den versteckten
Inhalt ein- und ausblenden, indem er auf die Zusammenfassung
klickt.
Browserkompatibilität:
<details> und <summary> werden
von den meisten modernen Webbrowsern unterstützt, aber
ältere Browser könnten Probleme haben. Wer möchte, kann eine
alternative Darstellung oder Funktion für Browser
bereitzustellen, die diese Tags nicht unterstützen.
Anleitungen finden sich im Internet.
Zusammenfassung:
<details> und <summary> bieten eine praktische Möglichkeit,
um Inhalte zu strukturieren und dem Benutzer die Möglichkeit
zu geben, bestimmte Teile einer Webseite bei Bedarf
anzuzeigen oder auszublenden. Sie sind einfach zu verwenden
und können das Benutzererlebnis verbessern, indem sie die
Darstellung von Informationen flexibler gestalten.
Um den summary-Punkt bei details zu gestalten, können Sie
CSS verwenden, um das Aussehen des Zusammenfassungstitels
anzupassen. Hier ist ein Beispiel, wie Sie den summary-Punkt
anpassen können:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0">
<title>Details Menu mit gestaltetem summary</title>
<style>
/* Styles für das Menü */
details {
margin-bottom: 15px;
}
summary {
cursor: pointer;
font-weight: bold;
background-color: #f0f0f0;
padding:
10px;
border: 1px solid #ccc;
border-radius: 5px;
transition: background-color 0.3s ease;
}
summary:hover {
background-color: #e0e0e0;
}
summary:focus {
outline: none;
}
ul {
margin-top: 0;
padding-left: 20px;
list-style: none;
}
</style>
</head>
<body>
<!-- Menüpunkt 1
-->
<details>
<summary>Menüpunkt 1</summary>
<ul>
<li><a href="#">Unterpunkt 1.1</a></li>
<li><a
href="#">Unterpunkt 1.2</a></li>
<li><a
href="#">Unterpunkt 1.3</a></li>
</ul>
</details>
<!-- Menüpunkt 2 -->
<details>
<summary>Menüpunkt
2</summary>
<ul>
<li><a href="#">Unterpunkt
2.1</a></li>
<li><a href="#">Unterpunkt 2.2</a></li>
<li><a href="#">Unterpunkt 2.3</a></li>
</ul>
</details>
<!-- Menüpunkt 3 -->
<details>
<summary>Menüpunkt 3</summary>
<ul>
<li><a
href="#">Unterpunkt 3.1</a></li>
<li><a
href="#">Unterpunkt 3.2</a></li>
<li><a
href="#">Unterpunkt 3.3</a></li>
</ul>
</details>
</body>
</html>
In diesem Beispiel habe ich dem summary-Punkt einige
CSS-Stile hinzugefügt, um ihn anzupassen:
background-color: Hintergrundfarbe des
Zusammenfassungstitels.
padding: Innenabstand des
Zusammenfassungstitels.
border: Rand um den
Zusammenfassungstitel.
border-radius: Abrundung des
Randes, um ihn abzurunden.
transition: Übergangseffekt
für einen sanften Farbwechsel beim Überfahren des
Zusammenfassungstitels.
:hover: Stiländerungen, die
auftreten sollen, wenn der Mauszeiger über den
Zusammenfassungstitel bewegt wird.
:focus:
Stiländerungen, die auftreten sollen, wenn der
Zusammenfassungstitel den Fokus erhält. In diesem Fall
entfernen wir die Standardumrandung.
Das Erscheinungsbild des Pfeils kann je nach Browser
unterschiedlich sein und ist normalerweise schwer direkt
anzupassen. Sie können jedoch versuchen, den Pfeil zu
verbergen und Ihr eigenes benutzerdefiniertes Symbol oder
Styling zu erstellen. Hier ist ein Beispiel, wie Sie den
Pfeil ausblenden können:
<!DOCTYPE html>
<html lang="en">
<head>
<meta
charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0">
<title>Details Menu mit gestaltetem summary und verstecktem
Pfeil</title>
<style>
/* Styles für das Menü */
details {
margin-bottom: 15px;
}
summary {
cursor: pointer;
font-weight: bold;
background-color:
#f0f0f0;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
transition: background-color 0.3s
ease;
/* Verstecke den Pfeil */
list-style-type: none;
}
summary::before {
content: "+"; /*
Benutzerdefiniertes Symbol (kann geändert werden) */
margin-right: 5px; /* Abstand zwischen dem
benutzerdefinierten Symbol und dem Text */
}
summary:hover {
background-color: #e0e0e0;
}
summary:focus {
outline: none;
}
ul {
margin-top: 0;
padding-left: 20px;
list-style: none;
}
</style>
</head>
<body>
<!-- Menüpunkt 1
-->
<details>
<summary>Menüpunkt 1</summary>
<ul>
<li><a href="#">Unterpunkt 1.1</a></li>
<li><a
href="#">Unterpunkt 1.2</a></li>
<li><a
href="#">Unterpunkt 1.3</a></li>
</ul>
</details>
<!-- Menüpunkt 2 -->
<details>
<summary>Menüpunkt
2</summary>
<ul>
<li><a href="#">Unterpunkt
2.1</a></li>
<li><a href="#">Unterpunkt 2.2</a></li>
<li><a href="#">Unterpunkt 2.3</a></li>
</ul>
</details>
<!-- Menüpunkt 3 -->
<details>
<summary>Menüpunkt 3</summary>
<ul>
<li><a
href="#">Unterpunkt 3.1</a></li>
<li><a
href="#">Unterpunkt 3.2</a></li>
<li><a
href="#">Unterpunkt 3.3</a></li>
</ul>
</details>
</body>
</html>In diesem Beispiel habe ich den
Pfeil versteckt, indem ich list-style-type: none; auf das
summary-Tag angewendet habe. Anschließend habe ich ein
benutzerdefiniertes Symbol vor dem Text des summary-Tags
hinzugefügt, das in diesem Fall ein Pluszeichen ist (+). Sie
können das benutzerdefinierte Symbol nach Ihren Wünschen
anpassen.