in English

Zusammenbruch

Schalten Sie die Sichtbarkeit von Inhalten in Ihrem Projekt mit einigen Klassen und unseren JavaScript-Plugins um.

Wie es funktioniert

Das Kollaps-JavaScript-Plugin dient zum Ein- und Ausblenden von Inhalten. Schaltflächen oder Anker werden als Auslöser verwendet, die bestimmten Elementen zugeordnet sind, die Sie umschalten. Das Reduzieren eines Elements animiert das heightvon seinem aktuellen Wert zu 0. Angesichts der Art und Weise, wie CSS mit Animationen umgeht, können Sie sie nicht paddingfür ein .collapseElement verwenden. Verwenden Sie stattdessen die Klasse als unabhängiges Wrapping-Element.

Der Animationseffekt dieser Komponente ist abhängig von der prefers-reduced-motionMedienanfrage. Weitere Informationen finden Sie im Abschnitt zur reduzierten Bewegung in unserer Dokumentation zur Barrierefreiheit .

Beispiel

Klicken Sie auf die Schaltflächen unten, um ein anderes Element über Klassenänderungen ein- und auszublenden:

  • .collapseInhalte verbirgt
  • .collapsingwird während der Übergänge angewendet
  • .collapse.showzeigt Inhalt

Generell empfehlen wir die Verwendung einer Schaltfläche mit dem data-targetAttribut. Obwohl semantisch nicht empfehlenswert, können Sie auch einen Link mit dem hrefAttribut (und einem role="button") verwenden. In beiden Fällen ist das data-toggle="collapse"erforderlich.

Some placeholder content for the collapse component. This panel is hidden by default but revealed when the user activates the relevant trigger.
<p>
  <a class="btn btn-primary" data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
    Link with href
  </a>
  <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
    Button with data-target
  </button>
</p>
<div class="collapse" id="collapseExample">
  <div class="card card-body">
    Some placeholder content for the collapse component. This panel is hidden by default but revealed when the user activates the relevant trigger.
  </div>
</div>

Horizontal

Das Kollaps-Plugin unterstützt auch das horizontale Kollabieren. Fügen Sie die Modifikatorklasse hinzu, um die anstelle von .widthzu übergehen , und legen Sie a für das unmittelbar untergeordnete Element fest. Fühlen Sie sich frei, Ihren eigenen benutzerdefinierten Sass zu schreiben, Inline-Stile zu verwenden oder unsere Breiten-Dienstprogramme zu verwenden .widthheightwidth

Bitte beachten Sie, dass das folgende Beispiel zwar einen min-heightSatz enthält, um übermäßige Neuzeichnungen in unseren Dokumenten zu vermeiden, dies jedoch nicht ausdrücklich erforderlich ist. Nur das widthauf dem untergeordneten Element ist erforderlich.

This is some placeholder content for a horizontal collapse. It's hidden by default and shown when triggered.
<p>
  <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseWidthExample" aria-expanded="false" aria-controls="collapseWidthExample">
    Toggle width collapse
  </button>
</p>
<div style="min-height: 120px;">
  <div class="collapse width" id="collapseWidthExample">
    <div class="card card-body" style="width: 320px;">
      This is some placeholder content for a horizontal collapse. It's hidden by default and shown when triggered.
    </div>
  </div>
</div>

Mehrere Ziele

Ein <button>or <a>kann mehrere Elemente ein- und ausblenden, indem es sie mit einem JQuery-Selektor in seinem hrefor - data-targetAttribut referenziert. Mehrere <button>oder <a>können ein Element ein- und ausblenden, wenn sie es jeweils mit ihrem hrefor - data-targetAttribut referenzieren

Some placeholder content for the first collapse component of this multi-collapse example. This panel is hidden by default but revealed when the user activates the relevant trigger.
Some placeholder content for the second collapse component of this multi-collapse example. This panel is hidden by default but revealed when the user activates the relevant trigger.
<p>
  <a class="btn btn-primary" data-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Toggle first element</a>
  <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#multiCollapseExample2" aria-expanded="false" aria-controls="multiCollapseExample2">Toggle second element</button>
  <button class="btn btn-primary" type="button" data-toggle="collapse" data-target=".multi-collapse" aria-expanded="false" aria-controls="multiCollapseExample1 multiCollapseExample2">Toggle both elements</button>
</p>
<div class="row">
  <div class="col">
    <div class="collapse multi-collapse" id="multiCollapseExample1">
      <div class="card card-body">
        Some placeholder content for the first collapse component of this multi-collapse example. This panel is hidden by default but revealed when the user activates the relevant trigger.
      </div>
    </div>
  </div>
  <div class="col">
    <div class="collapse multi-collapse" id="multiCollapseExample2">
      <div class="card card-body">
        Some placeholder content for the second collapse component of this multi-collapse example. This panel is hidden by default but revealed when the user activates the relevant trigger.
      </div>
    </div>
  </div>
</div>

Beispiel Akkordeon

Mithilfe der Kartenkomponente können Sie das standardmäßige Minimierungsverhalten erweitern, um ein Akkordeon zu erstellen. Um den Akkordeonstil richtig zu erreichen, verwenden Sie es unbedingt .accordionals Hülle.

Einige Platzhalterinhalte für das erste Akkordeon-Panel. Dieses Panel wird dank der .showKlasse standardmäßig angezeigt.

Some placeholder content for the second accordion panel. This panel is hidden by default.

And lastly, the placeholder content for the third and final accordion panel. This panel is hidden by default.
<div class="accordion" id="accordionExample">
  <div class="card">
    <div class="card-header" id="headingOne">
      <h2 class="mb-0">
        <button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
          Collapsible Group Item #1
        </button>
      </h2>
    </div>

    <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
      <div class="card-body">
        Some placeholder content for the first accordion panel. This panel is shown by default, thanks to the <code>.show</code> class.
      </div>
    </div>
  </div>
  <div class="card">
    <div class="card-header" id="headingTwo">
      <h2 class="mb-0">
        <button class="btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
          Collapsible Group Item #2
        </button>
      </h2>
    </div>
    <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionExample">
      <div class="card-body">
        Some placeholder content for the second accordion panel. This panel is hidden by default.
      </div>
    </div>
  </div>
  <div class="card">
    <div class="card-header" id="headingThree">
      <h2 class="mb-0">
        <button class="btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
          Collapsible Group Item #3
        </button>
      </h2>
    </div>
    <div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#accordionExample">
      <div class="card-body">
        And lastly, the placeholder content for the third and final accordion panel. This panel is hidden by default.
      </div>
    </div>
  </div>
</div>

Barrierefreiheit

aria-expandedAchten Sie darauf , das Steuerelement hinzuzufügen . Dieses Attribut übermittelt explizit den aktuellen Status des reduzierbaren Elements, das an das Steuerelement gebunden ist, an Bildschirmlesegeräte und ähnliche Hilfstechnologien. Wenn das reduzierbare Element standardmäßig geschlossen ist, sollte das Attribut des Steuerelements den Wert haben aria-expanded="false". Wenn Sie festgelegt haben, dass das reduzierbare Element mithilfe der showKlasse standardmäßig geöffnet ist, legen Sie aria-expanded="true"stattdessen das Steuerelement fest. Das Plug-in schaltet dieses Attribut auf dem Steuerelement automatisch um, je nachdem, ob das reduzierbare Element geöffnet oder geschlossen wurde (über JavaScript oder weil der Benutzer ein anderes Steuerelement ausgelöst hat, das ebenfalls mit demselben reduzierbaren Element verknüpft ist). Wenn das HTML-Element des Steuerelements keine Schaltfläche ist (z. B. ein <a>oder <div>), wird das Attributrole="button"sollte dem Element hinzugefügt werden.

Wenn Ihr Steuerelement auf ein einzelnes reduzierbares Element abzielt – dh das data-targetAttribut auf einen idSelektor zeigt – sollten Sie das aria-controlsAttribut dem Steuerelement hinzufügen, das die iddes reduzierbaren Elements enthält. Moderne Screenreader und ähnliche Hilfstechnologien nutzen dieses Attribut, um Benutzern zusätzliche Verknüpfungen bereitzustellen, mit denen sie direkt zum reduzierbaren Element selbst navigieren können.

Beachten Sie, dass die aktuelle Implementierung von Bootstrap die verschiedenen Tastaturinteraktionen, die im Akkordeonmuster des ARIA Authoring Practices Guide beschrieben sind, nicht abdeckt – Sie müssen diese selbst mit benutzerdefiniertem JavaScript einbinden.

Verwendungszweck

Das Kollaps-Plugin verwendet einige Klassen, um das schwere Heben zu bewältigen:

  • .collapseverbirgt den Inhalt
  • .collapse.showzeigt den Inhalt
  • .collapsingwird hinzugefügt, wenn der Übergang beginnt, und entfernt, wenn er endet

Diese Klassen finden Sie in _transitions.scss.

Über Datenattribute

Fügen Sie dem Element einfach data-toggle="collapse"und ein hinzu data-target, um automatisch die Steuerung eines oder mehrerer zusammenklappbarer Elemente zuzuweisen. Das data-targetAttribut akzeptiert einen CSS-Selektor, auf den die Minimierung angewendet wird. Stellen Sie sicher, dass Sie die Klasse collapsedem zusammenklappbaren Element hinzufügen. Wenn Sie möchten, dass es standardmäßig geöffnet ist, fügen Sie die zusätzliche Klasse hinzu show.

Um einem zusammenklappbaren Bereich eine akkordeonartige Gruppenverwaltung hinzuzufügen, fügen Sie das Datenattribut hinzu data-parent="#selector". Sehen Sie sich die Demo an, um dies in Aktion zu sehen.

Über JavaScript

Manuell aktivieren mit:

$('.collapse').collapse()

Optionen

Optionen können über Datenattribute oder JavaScript übergeben werden. Hängen Sie für Datenattribute den Optionsnamen an data-, wie in data-parent="".

Name Typ Standard Beschreibung
Elternteil Selektor | jQuery-Objekt | DOM-Element FALSCH Wenn ein übergeordnetes Element angegeben ist, werden alle reduzierbaren Elemente unter dem angegebenen übergeordneten Element geschlossen, wenn dieses reduzierbare Element angezeigt wird. (ähnlich dem traditionellen Akkordeonverhalten - dies ist von der cardKlasse abhängig). Das Attribut muss auf den zusammenklappbaren Zielbereich gesetzt werden.
Umschalten boolesch Stimmt Schaltet das reduzierbare Element beim Aufruf um

Methoden

Asynchrone Methoden und Übergänge

Alle API-Methoden sind asynchron und starten einen Übergang . Sie kehren zum Aufrufer zurück, sobald der Übergang gestartet wird, aber bevor er endet . Außerdem wird ein Methodenaufruf einer Übergangskomponente ignoriert .

Weitere Informationen finden Sie in unserer JavaScript-Dokumentation .

.collapse(options)

Aktiviert Ihren Inhalt als zusammenklappbares Element. Akzeptiert optionale Optionen object.

$('#myCollapsible').collapse({
  toggle: false
})

.collapse('toggle')

Blendet ein reduzierbares Element ein oder aus. Gibt an den Aufrufer zurück, bevor das reduzierbare Element tatsächlich angezeigt oder ausgeblendet wurde (dh bevor das shown.bs.collapseor hidden.bs.collapse-Ereignis eintritt).

.collapse('show')

Zeigt ein zusammenklappbares Element. Gibt an den Aufrufer zurück, bevor das reduzierbare Element tatsächlich angezeigt wurde (dh bevor das shown.bs.collapseEreignis eintritt).

.collapse('hide')

Blendet ein zusammenklappbares Element aus. Gibt an den Aufrufer zurück, bevor das zusammenklappbare Element tatsächlich ausgeblendet wurde (dh bevor das hidden.bs.collapseEreignis eintritt).

.collapse('dispose')

Zerstört den Kollaps eines Elements.

Veranstaltungen

Die Collapse-Klasse von Bootstrap macht einige Ereignisse verfügbar, um sich in die Collapse-Funktionalität einzuklinken.

Ereignistyp Beschreibung
show.bs.collapse Dieses Ereignis wird sofort ausgelöst, wenn die showInstanzmethode aufgerufen wird.
gezeigt.bs.collapse Dieses Ereignis wird ausgelöst, wenn ein Minimierungselement für den Benutzer sichtbar gemacht wurde (wartet auf den Abschluss der CSS-Übergänge).
hide.bs.collapse Dieses Ereignis wird sofort ausgelöst, wenn die hideMethode aufgerufen wurde.
hidden.bs.collapse Dieses Ereignis wird ausgelöst, wenn ein Minimierungselement vor dem Benutzer ausgeblendet wurde (wartet, bis die CSS-Übergänge abgeschlossen sind).
$('#myCollapsible').on('hidden.bs.collapse', function () {
  // do something...
})