Bootstrap - Collapse: Ein umfassender Leitfaden für Anfänger
Hallo, ambitionierte Web-Entwickler! Heute tauchen wir in eines der nützlichsten Komponenten von Bootstrap ein: den Collapse. Stellen Sie es sich wie einen Zaubertrick für Ihre Webseiten vor - jetzt sehen Sie es, jetzt nicht! Lassen Sie uns gemeinsam auf diese aufregende Reise gehen.
Was ist Bootstrap Collapse?
Bevor wir uns dem Code zuwenden, lassen Sie uns verstehen, was es mit dem Collapse auf sich hat. Stellen Sie sich vor, Sie haben einen langen Artikel auf Ihrer Webseite, aber Sie möchten Ihre Besucher nicht mit all dem Text auf einmal überfordern. Genau hier kommt der Collapse zur Rettung! Er ermöglicht es Ihnen, Inhalte mit einem einfachen Klick zu verstecken und anzuzeigen, was Ihre Webseiten interaktiver und benutzerfreundlicher macht.
Grundlegendes Beispiel
Lassen Sie uns mit einem grundlegenden Beispiel anfangen, um einen ersten Eindruck zu bekommen.
<p>
<a class="btn btn-primary" data-bs-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
Klicken Sie mich, um ein Geheimnis zu enthüllen!
</a>
</p>
<div class="collapse" id="collapseExample">
<div class="card card-body">
Das Geheimnis ist... dass Sie großartig sind, weil Sie Bootstrap lernen!
</div>
</div>
Lassen Sie uns das auseinandernehmen:
- Wir haben eine Schaltfläche (als Link gestaltet), die den Collapse auslöst.
- Das
data-bs-toggle="collapse"
-Attribut tells Bootstrap, dass dieses Element eine kollabierende Fläche steuert. - Das
href="#collapseExample"
-Attribut verweist auf die ID des kollabierenden Inhalts. - Der kollabierende Inhalt ist in einem div mit der Klasse
collapse
und einer ID, die auf den href in der Schaltfläche verweist.
Wenn Sie auf die Schaltfläche klicken, passiert Bootstrap's JavaScript-Zauber, und voilà! Ihr Inhalt erscheint oder verschwindet.
Horizontale Collapse
Nun, lassen Sie uns mit einer horizontalen Collapse das Ganze aufpeppen. Es ist, als ob Ihr Inhalt Versteckspiel spielt, aber in die Breite!
<p>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseWidthExample" aria-expanded="false" aria-controls="collapseWidthExample">
Breiten-Collapse umschalten
</button>
</p>
<div style="min-height: 120px;">
<div class="collapse collapse-horizontal" id="collapseWidthExample">
<div class="card card-body" style="width: 300px;">
Dies ist einige Platzhalter-Inhalte für eine horizontale Collapse. Es ist standardmäßig versteckt und wird angezeigt, wenn es ausgelöst wird.
</div>
</div>
</div>
Die wichtigsten Unterschiede hier sind:
- Wir verwenden die Klasse
collapse-horizontal
zusätzlich zucollapse
. - Wir haben eine spezifische Breite für den kollabierenden Inhalt festgelegt.
- Das äußerste div mit
min-height
stellt sicher, dass andere Elemente nicht springen, wenn die Collapse umgeschaltet wird.
Mehrere Schalter und Ziele
Nun, lassen Sie uns eine Symphonie von kollabierenden Elementen schaffen! Wir können mehrere Schaltflächen steuern, die verschiedene (oder die gleichen) kollabierenden Bereiche steuern.
<p>
<a class="btn btn-primary" data-bs-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Erstes Element umschalten</a>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#multiCollapseExample2" aria-expanded="false" aria-controls="multiCollapseExample2">Zweites Element umschalten</button>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target=".multi-collapse" aria-expanded="false" aria-controls="multiCollapseExample1 multiCollapseExample2">Beide Elemente umschalten</button>
</p>
<div class="row">
<div class="col">
<div class="collapse multi-collapse" id="multiCollapseExample1">
<div class="card card-body">
Einige Platzhalter-Inhalte für das erste Collapse-Komponente dieses Multi-Collapse-Beispiels.
</div>
</div>
</div>
<div class="col">
<div class="collapse multi-collapse" id="multiCollapseExample2">
<div class="card card-body">
Einige Platzhalter-Inhalte für das zweite Collapse-Komponente dieses Multi-Collapse-Beispiels.
</div>
</div>
</div>
</div>
Hier ist, was passiert:
- Wir haben drei Schaltflächen: zwei steuern individuelle Collapses, und eine steuert beide.
- Die dritte Schaltfläche verwendet
.multi-collapse
, um beide kollabierenden Bereiche zu zielieren. - Jeder kollabierende Bereich hat sowohl eine eindeutige ID als auch die Klasse
multi-collapse
.
Barrierefreiheit
Als verantwortungsbewusste Entwickler müssen wir sicherstellen, dass unsere Websites für jeden zugänglich sind. Bootstrap's Collapse-Komponente verfügt über integrierte Barrierefreiheitsfunktionen, aber wir können sie erweitern:
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#accessibleCollapse" aria-expanded="false" aria-controls="accessibleCollapse">
Barrierefreie Collapse-Schaltfläche
</button>
<div class="collapse" id="accessibleCollapse">
<div class="card card-body">
Dieser Inhalt ist versteckt, aber für Screenreader zugänglich.
</div>
</div>
Wichtige Barrierefreiheitsfunktionen:
- Das
aria-expanded
-Attribut informiert Screenreader darüber, ob der kollabierende Inhalt derzeit sichtbar ist. - Das
aria-controls
-Attribut verbindet die Schaltfläche mit dem kollabierenden Inhalt.
Methoden-Tabelle
Hier ist eine praktische Tabelle der Collapse-Methoden, die Sie in Ihrem JavaScript verwenden können:
Methode | Beschreibung |
---|---|
collapse('toggle') |
Schaltet ein kollabierbares Element um |
collapse('show') |
Zeigt ein kollabierbares Element an |
collapse('hide') |
Versteckt ein kollabierbares Element |
collapse('dispose') |
Zerstört die Collapse-Funktion eines Elements |
Um diese Methoden zu verwenden, würden Sie etwas wie folgt tun:
var myCollapsible = document.getElementById('myCollapse')
var bsCollapse = new bootstrap.Collapse(myCollapsible, {
toggle: false
})
bsCollapse.show()
Und da haben Sie es, Leute! Sie haben die Kunst des Bootstrap Collapse gemeistert. Erinnern Sie sich daran, Übung macht den Meister, also fürchten Sie sich nicht, mit diesen Beispielen zu experimentieren. Bevor Sie es wissen, werden Sie Webseiten erstellen, die sich wie Origami falten und entfalten!
Frohes Coden und möge Ihre Collapses stets glatt und Ihre Umschaltungen stets reaktionsschnell sein!
Credits: Image by storyset