in English

Κατάρρευση

Εναλλάξτε την ορατότητα του περιεχομένου σε όλο το έργο σας με μερικές κλάσεις και τις προσθήκες JavaScript.

Πως δουλεύει

Η προσθήκη σύμπτυξης JavaScript χρησιμοποιείται για την εμφάνιση και απόκρυψη περιεχομένου. Τα κουμπιά ή οι άγκυρες χρησιμοποιούνται ως ενεργοποιητές που αντιστοιχίζονται σε συγκεκριμένα στοιχεία που αλλάζετε. Η σύμπτυξη ενός στοιχείου θα κινήσει το heightαπό την τρέχουσα τιμή του σε 0. Δεδομένου του τρόπου με τον οποίο το CSS χειρίζεται κινούμενα σχέδια, δεν μπορείτε να χρησιμοποιήσετε paddingσε ένα .collapseστοιχείο. Αντίθετα, χρησιμοποιήστε την κλάση ως ανεξάρτητο στοιχείο αναδίπλωσης.

Το εφέ κίνησης αυτού του στοιχείου εξαρτάται από το prefers-reduced-motionερώτημα πολυμέσων. Δείτε την ενότητα μειωμένης κίνησης της τεκμηρίωσης προσβασιμότητας .

Παράδειγμα

Κάντε κλικ στα κουμπιά παρακάτω για εμφάνιση και απόκρυψη ενός άλλου στοιχείου μέσω αλλαγών κλάσης:

  • .collapseκρύβει περιεχόμενο
  • .collapsingεφαρμόζεται κατά τις μεταβάσεις
  • .collapse.showδείχνει περιεχόμενο

Γενικά, συνιστούμε να χρησιμοποιήσετε ένα κουμπί με το data-targetχαρακτηριστικό. Αν και δεν συνιστάται από σημασιολογική άποψη, μπορείτε επίσης να χρησιμοποιήσετε έναν σύνδεσμο με το hrefχαρακτηριστικό (και a role="button"). Και στις δύο περιπτώσεις data-toggle="collapse"απαιτείται.

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>

Οριζόντιος

Το πρόσθετο σύμπτυξης υποστηρίζει επίσης την οριζόντια σύμπτυξη. Προσθέστε την .widthκλάση τροποποιητή για μετάβαση στο widthαντί heightκαι ορίστε το a widthστο άμεσο θυγατρικό στοιχείο. Μη διστάσετε να γράψετε το δικό σας προσαρμοσμένο Sass, να χρησιμοποιήσετε ενσωματωμένα στυλ ή να χρησιμοποιήσετε τα βοηθητικά προγράμματα πλάτους .

Λάβετε υπόψη ότι ενώ το παρακάτω παράδειγμα έχει ένα min-heightσετ για την αποφυγή υπερβολικών βαφών στα έγγραφά μας, αυτό δεν απαιτείται ρητά. Απαιτείται μόνο το widthστοιχείο on the child.

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>

Πολλαπλοί στόχοι

Το A <button>ή <a>μπορεί να εμφανίσει και να αποκρύψει πολλά στοιχεία αναφέροντάς τα με έναν επιλογέα JQuery στο χαρακτηριστικό του hrefή data-target. Πολλαπλές <button>ή <a>μπορούν να εμφανίσουν και να αποκρύψουν ένα στοιχείο εάν το καθένα αναφέρεται σε αυτό με το χαρακτηριστικό hrefή το data-targetχαρακτηριστικό του

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>

Παράδειγμα ακορντεόν

Χρησιμοποιώντας το στοιχείο κάρτας , μπορείτε να επεκτείνετε την προεπιλεγμένη συμπεριφορά σύμπτυξης για να δημιουργήσετε ένα ακορντεόν. Για να πετύχετε σωστά το στυλ ακορντεόν, φροντίστε να το χρησιμοποιήσετε .accordionως περιτύλιγμα.

Ορισμένο περιεχόμενο σύμβολο κράτησης θέσης για τον πρώτο πίνακα ακορντεόν. Αυτός ο πίνακας εμφανίζεται από προεπιλογή, χάρη στην .showκατηγορία.

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>

Προσιτότητα

Φροντίστε να προσθέσετε aria-expandedστο στοιχείο ελέγχου. Αυτό το χαρακτηριστικό μεταφέρει ρητά την τρέχουσα κατάσταση του πτυσσόμενου στοιχείου που είναι συνδεδεμένο με τον έλεγχο των συσκευών ανάγνωσης οθόνης και παρόμοιες υποβοηθητικές τεχνολογίες. Εάν το πτυσσόμενο στοιχείο είναι κλειστό από προεπιλογή, το χαρακτηριστικό στο στοιχείο ελέγχου θα πρέπει να έχει τιμή aria-expanded="false". Εάν έχετε ρυθμίσει το πτυσσόμενο στοιχείο να είναι ανοιχτό από προεπιλογή χρησιμοποιώντας την showκλάση, ορίστε aria-expanded="true"το στο στοιχείο ελέγχου. Η προσθήκη θα αλλάξει αυτόματα αυτό το χαρακτηριστικό στο στοιχείο ελέγχου με βάση το αν το πτυσσόμενο στοιχείο έχει ανοίξει ή κλείσει (μέσω JavaScript ή επειδή ο χρήστης ενεργοποίησε ένα άλλο στοιχείο ελέγχου που επίσης συνδέεται με το ίδιο πτυσσόμενο στοιχείο). Εάν το στοιχείο HTML του στοιχείου ελέγχου δεν είναι κουμπί (π.χ. an <a>ή <div>), το χαρακτηριστικόrole="button"πρέπει να προστεθεί στο στοιχείο.

Εάν το στοιχείο ελέγχου σας στοχεύει ένα μεμονωμένο πτυσσόμενο στοιχείο – δηλαδή το data-targetχαρακτηριστικό δείχνει σε έναν idεπιλογέα – θα πρέπει να προσθέσετε το aria-controlsχαρακτηριστικό στο στοιχείο ελέγχου, που περιέχει το idστοιχείο του πτυσσόμενου στοιχείου. Οι σύγχρονες συσκευές ανάγνωσης οθόνης και παρόμοιες υποστηρικτικές τεχνολογίες χρησιμοποιούν αυτό το χαρακτηριστικό για να παρέχουν στους χρήστες πρόσθετες συντομεύσεις για την απευθείας πλοήγηση στο ίδιο το πτυσσόμενο στοιχείο.

Λάβετε υπόψη ότι η τρέχουσα εφαρμογή του Bootstrap δεν καλύπτει τις διάφορες αλληλεπιδράσεις πληκτρολογίου που περιγράφονται στο μοτίβο ακορντεόν του Οδηγού πρακτικών συγγραφής ARIA - θα χρειαστεί να τις συμπεριλάβετε μόνοι σας με προσαρμοσμένη JavaScript.

Χρήση

Το πρόσθετο κατάρρευσης χρησιμοποιεί μερικές κατηγορίες για να χειριστεί τη βαριά ανύψωση:

  • .collapseκρύβει το περιεχόμενο
  • .collapse.showδείχνει το περιεχόμενο
  • .collapsingπροστίθεται όταν ξεκινά η μετάβαση και αφαιρείται όταν τελειώσει

Αυτές οι τάξεις βρίσκονται στο _transitions.scss.

Μέσω χαρακτηριστικών δεδομένων

Απλώς προσθέστε data-toggle="collapse"και a data-targetστο στοιχείο για να εκχωρήσετε αυτόματα τον έλεγχο ενός ή περισσότερων πτυσσόμενων στοιχείων. Το data-targetχαρακτηριστικό δέχεται έναν επιλογέα CSS για εφαρμογή της σύμπτυξης. Φροντίστε να προσθέσετε την κλάση collapseστο πτυσσόμενο στοιχείο. Εάν θέλετε να είναι ανοιχτό από προεπιλογή, προσθέστε την πρόσθετη κλάση show.

Για να προσθέσετε διαχείριση ομάδας που μοιάζει με ακορντεόν σε μια πτυσσόμενη περιοχή, προσθέστε το χαρακτηριστικό δεδομένων data-parent="#selector". Ανατρέξτε στην επίδειξη για να το δείτε σε δράση.

Μέσω JavaScript

Ενεργοποίηση μη αυτόματα με:

$('.collapse').collapse()

Επιλογές

Οι επιλογές μπορούν να μεταβιβαστούν μέσω χαρακτηριστικών δεδομένων ή JavaScript. Για τα χαρακτηριστικά δεδομένων, προσθέστε το όνομα της επιλογής στο data-, όπως στο data-parent="".

Ονομα Τύπος Προκαθορισμένο Περιγραφή
μητρική εταιρεία επιλογέας | Αντικείμενο jQuery | Στοιχείο DOM ψευδής Εάν παρέχεται γονέας, τότε όλα τα πτυσσόμενα στοιχεία κάτω από τον καθορισμένο γονέα θα κλείσουν όταν εμφανιστεί αυτό το πτυσσόμενο στοιχείο. (παρόμοια με την παραδοσιακή συμπεριφορά ακορντεόν - αυτό εξαρτάται από την cardτάξη). Το χαρακτηριστικό πρέπει να οριστεί στην πτυσσόμενη περιοχή στόχου.
μεταβάλλω boolean αληθής Εναλλάσσει το πτυσσόμενο στοιχείο κατά την επίκληση

Μέθοδοι

Ασύγχρονες μέθοδοι και μεταβάσεις

Όλες οι μέθοδοι API είναι ασύγχρονες και ξεκινούν μια μετάβαση . Επιστρέφουν στον καλούντα μόλις ξεκινήσει η μετάβαση αλλά πριν τελειώσει . Επιπλέον, μια κλήση μεθόδου σε ένα στοιχείο μετάβασης θα αγνοηθεί .

Δείτε την τεκμηρίωση JavaScript για περισσότερες πληροφορίες .

.collapse(options)

Ενεργοποιεί το περιεχόμενό σας ως πτυσσόμενο στοιχείο. Αποδέχεται μια προαιρετική επιλογή object.

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

.collapse('toggle')

Εναλλάσσει ένα πτυσσόμενο στοιχείο σε εμφάνιση ή απόκρυψη. Επιστρέφει στον καλούντα πριν εμφανιστεί ή κρυφτεί το πτυσσόμενο στοιχείο (δηλαδή πριν συμβεί το shown.bs.collapseή το hidden.bs.collapseσυμβάν).

.collapse('show')

Εμφανίζει ένα πτυσσόμενο στοιχείο. Επιστρέφει στον καλούντα πριν εμφανιστεί πραγματικά το πτυσσόμενο στοιχείο (δηλαδή πριν συμβεί το shown.bs.collapseσυμβάν).

.collapse('hide')

Κρύβει ένα πτυσσόμενο στοιχείο. Επιστρέφει στον καλούντα πριν από την πραγματική απόκρυψη του πτυσσόμενου στοιχείου (δηλαδή πριν συμβεί το hidden.bs.collapseσυμβάν).

.collapse('dispose')

Καταστρέφει την κατάρρευση ενός στοιχείου.

Εκδηλώσεις

Η κλάση κατάρρευσης του Bootstrap εκθέτει μερικά συμβάντα για σύνδεση στη λειτουργικότητα κατάρρευσης.

Τύπος συμβάντος Περιγραφή
εμφανίζω.β.κατάρρευση Αυτό το συμβάν ενεργοποιείται αμέσως όταν showκαλείται η μέθοδος παρουσίας.
φαίνεται.β.σύμπτυξη Αυτό το συμβάν ενεργοποιείται όταν ένα στοιχείο σύμπτυξης έχει γίνει ορατό στον χρήστη (θα περιμένει να ολοκληρωθούν οι μεταβάσεις CSS).
απόκρυψη.β.κατάρρευση Αυτό το συμβάν ενεργοποιείται αμέσως μετά την hideκλήση της μεθόδου.
κρυφός.β.σύμπτυξη Αυτό το συμβάν ενεργοποιείται όταν ένα στοιχείο σύμπτυξης έχει κρυφτεί από τον χρήστη (θα περιμένει να ολοκληρωθούν οι μεταβάσεις CSS).
$('#myCollapsible').on('hidden.bs.collapse', function () {
  // do something...
})