Ομάδα λίστας
Οι ομάδες λιστών είναι ένα ευέλικτο και ισχυρό στοιχείο για την εμφάνιση μιας σειράς περιεχομένου. Τροποποιήστε και επεκτείνετε τα για να υποστηρίζουν σχεδόν οποιοδήποτε περιεχόμενο.
Βασικό παράδειγμα
Η πιο βασική ομάδα λίστας είναι μια μη ταξινομημένη λίστα με στοιχεία λίστας και τις κατάλληλες κλάσεις. Βασιστείτε σε αυτό με τις επιλογές που ακολουθούν ή με το δικό σας CSS όπως απαιτείται.
- Ενα αντικείμενο
- Ένα δεύτερο στοιχείο
- Ένα τρίτο στοιχείο
- Ένα τέταρτο στοιχείο
- Και ένα πέμπτο
<ul class="list-group">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>
Ενεργά στοιχεία
Προσθήκη .active
στο a .list-group-item
για να υποδείξετε την τρέχουσα ενεργή επιλογή.
- Ένα ενεργό στοιχείο
- Ένα δεύτερο στοιχείο
- Ένα τρίτο στοιχείο
- Ένα τέταρτο στοιχείο
- Και ένα πέμπτο
<ul class="list-group">
<li class="list-group-item active" aria-current="true">An active item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>
Στοιχεία με ειδικές ανάγκες
Προσθέστε .disabled
σε ένα .list-group-item
για να φαίνεται απενεργοποιημένο. Λάβετε υπόψη ότι ορισμένα στοιχεία με .disabled
θα απαιτούν επίσης προσαρμοσμένη JavaScript για την πλήρη απενεργοποίηση των συμβάντων κλικ (π.χ. σύνδεσμοι).
- Ένα απενεργοποιημένο στοιχείο
- Ένα δεύτερο στοιχείο
- Ένα τρίτο στοιχείο
- Ένα τέταρτο στοιχείο
- Και ένα πέμπτο
<ul class="list-group">
<li class="list-group-item disabled" aria-disabled="true">A disabled item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>
Σύνδεσμοι και κουμπιά
Χρησιμοποιήστε <a>
s ή <button>
s για να δημιουργήσετε στοιχεία ομάδας λίστας με δυνατότητα δράσης με αιώρηση, απενεργοποιημένες και ενεργές καταστάσεις προσθέτοντας .list-group-item-action
. Διαχωρίζουμε αυτές τις ψευδο-κλάσεις για να διασφαλίσουμε ότι οι ομάδες λιστών που αποτελούνται από μη αλληλεπιδραστικά στοιχεία (όπως <li>
s ή <div>
s) δεν παρέχουν απόδοση κλικ ή αγγίγματος.
Βεβαιωθείτε ότι δεν χρησιμοποιείτε τις τυπικές .btn
κλάσεις εδώ .
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action active" aria-current="true">
The current link item
</a>
<a href="#" class="list-group-item list-group-item-action">A second link item</a>
<a href="#" class="list-group-item list-group-item-action">A third link item</a>
<a href="#" class="list-group-item list-group-item-action">A fourth link item</a>
<a class="list-group-item list-group-item-action disabled">A disabled link item</a>
</div>
Με <button>
το s, μπορείτε επίσης να χρησιμοποιήσετε το disabled
χαρακτηριστικό αντί για την .disabled
κλάση. Δυστυχώς, <a>
δεν υποστηρίζεται το χαρακτηριστικό απενεργοποιημένο.
<div class="list-group">
<button type="button" class="list-group-item list-group-item-action active" aria-current="true">
The current button
</button>
<button type="button" class="list-group-item list-group-item-action">A second button item</button>
<button type="button" class="list-group-item list-group-item-action">A third button item</button>
<button type="button" class="list-group-item list-group-item-action">A fourth button item</button>
<button type="button" class="list-group-item list-group-item-action" disabled>A disabled button item</button>
</div>
Ξεπλύνετε
Προσθέστε .list-group-flush
για να αφαιρέσετε ορισμένα περιγράμματα και στρογγυλεμένες γωνίες για να αποδώσετε στοιχεία ομάδας λίστας από άκρη σε άκρη σε ένα γονικό κοντέινερ (π.χ. κάρτες).
- Ενα αντικείμενο
- Ένα δεύτερο στοιχείο
- Ένα τρίτο στοιχείο
- Ένα τέταρτο στοιχείο
- Και ένα πέμπτο
<ul class="list-group list-group-flush">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>
Αριθμημένο
Προσθέστε την .list-group-numbered
κλάση τροποποιητή (και προαιρετικά χρησιμοποιήστε ένα <ol>
στοιχείο) για να επιλέξετε τα στοιχεία της ομάδας αριθμημένων καταλόγων. Οι αριθμοί δημιουργούνται μέσω CSS (σε αντίθεση με το <ol>
στυλ ενός προεπιλεγμένου προγράμματος περιήγησης) για καλύτερη τοποθέτηση μέσα στα στοιχεία της ομάδας λίστας και για καλύτερη προσαρμογή.
Οι αριθμοί δημιουργούνται από counter-reset
το <ol>
, και στη συνέχεια διαμορφώνονται και τοποθετούνται με ένα ::before
ψευδοστοιχείο στο <li>
με counter-increment
και content
.
- Ένα στοιχείο λίστας
- Ένα στοιχείο λίστας
- Ένα στοιχείο λίστας
<ol class="list-group list-group-numbered">
<li class="list-group-item">A list item</li>
<li class="list-group-item">A list item</li>
<li class="list-group-item">A list item</li>
</ol>
Αυτά λειτουργούν εξαιρετικά και με προσαρμοσμένο περιεχόμενο.
-
ΥπότιτλοςΠεριεχόμενο για το στοιχείο της λίστας
-
ΥπότιτλοςΠεριεχόμενο για το στοιχείο της λίστας
-
ΥπότιτλοςΠεριεχόμενο για το στοιχείο της λίστας
<ol class="list-group list-group-numbered">
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Content for list item
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Content for list item
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Content for list item
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
</ol>
Οριζόντιος
Προσθήκη .list-group-horizontal
για αλλαγή της διάταξης των στοιχείων της ομάδας λίστας από κάθετη σε οριζόντια σε όλα τα σημεία διακοπής. Εναλλακτικά, επιλέξτε μια παραλλαγή που ανταποκρίνεται .list-group-horizontal-{sm|md|lg|xl|xxl}
για να κάνετε μια ομάδα λίστας οριζόντια ξεκινώντας από αυτό το σημείο διακοπής min-width
. Επί του παρόντος , οι οριζόντιες ομάδες λιστών δεν μπορούν να συνδυαστούν με ομάδες καταλόγου.
ProTip: Θέλετε στοιχεία ομάδας ίσου πλάτους όταν είναι οριζόντια; Προσθήκη .flex-fill
σε κάθε στοιχείο της ομάδας λίστας.
- Ενα αντικείμενο
- Ένα δεύτερο στοιχείο
- Ένα τρίτο στοιχείο
- Ενα αντικείμενο
- Ένα δεύτερο στοιχείο
- Ένα τρίτο στοιχείο
- Ενα αντικείμενο
- Ένα δεύτερο στοιχείο
- Ένα τρίτο στοιχείο
- Ενα αντικείμενο
- Ένα δεύτερο στοιχείο
- Ένα τρίτο στοιχείο
- Ενα αντικείμενο
- Ένα δεύτερο στοιχείο
- Ένα τρίτο στοιχείο
- Ενα αντικείμενο
- Ένα δεύτερο στοιχείο
- Ένα τρίτο στοιχείο
<ul class="list-group list-group-horizontal">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-sm">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-md">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-lg">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-xl">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-xxl">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
Τάξεις με βάση τα συμφραζόμενα
Χρησιμοποιήστε τάξεις με βάση τα συμφραζόμενα για να διαμορφώσετε στοιχεία λίστας με φόντο και χρώμα.
- Ένα απλό προεπιλεγμένο στοιχείο ομάδας λίστας
- Ένα απλό βασικό στοιχείο ομάδας λίστας
- Ένα απλό δευτερεύον στοιχείο ομάδας λίστας
- Ένα απλό στοιχείο ομάδας λίστας επιτυχίας
- Ένα απλό στοιχείο της ομάδας λίστας κινδύνου
- Ένα απλό στοιχείο ομάδας προειδοποίησης λίστας
- Ένα απλό στοιχείο ομάδας λίστας πληροφοριών
- Ένα απλό στοιχείο ομάδας φωτεινής λίστας
- Ένα απλό στοιχείο ομάδας σκοτεινής λίστας
<ul class="list-group">
<li class="list-group-item">A simple default list group item</li>
<li class="list-group-item list-group-item-primary">A simple primary list group item</li>
<li class="list-group-item list-group-item-secondary">A simple secondary list group item</li>
<li class="list-group-item list-group-item-success">A simple success list group item</li>
<li class="list-group-item list-group-item-danger">A simple danger list group item</li>
<li class="list-group-item list-group-item-warning">A simple warning list group item</li>
<li class="list-group-item list-group-item-info">A simple info list group item</li>
<li class="list-group-item list-group-item-light">A simple light list group item</li>
<li class="list-group-item list-group-item-dark">A simple dark list group item</li>
</ul>
Οι τάξεις με βάση τα συμφραζόμενα λειτουργούν επίσης με .list-group-item-action
. Σημειώστε την προσθήκη των στυλ αιώρησης εδώ που δεν υπάρχουν στο προηγούμενο παράδειγμα. Επίσης υποστηρίζεται το .active
κράτος. εφαρμόστε το για να υποδείξετε μια ενεργή επιλογή σε ένα στοιχείο ομάδας λίστας με βάση τα συμφραζόμενα.
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action">A simple default list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-primary">A simple primary list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-secondary">A simple secondary list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-success">A simple success list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-danger">A simple danger list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-warning">A simple warning list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-info">A simple info list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-light">A simple light list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-dark">A simple dark list group item</a>
</div>
Μετάδοση νοήματος στις υποστηρικτικές τεχνολογίες
Η χρήση χρώματος για να προσθέσετε νόημα παρέχει μόνο μια οπτική ένδειξη, η οποία δεν θα μεταδοθεί στους χρήστες βοηθητικών τεχνολογιών – όπως οι συσκευές ανάγνωσης οθόνης. Βεβαιωθείτε ότι οι πληροφορίες που υποδηλώνονται με το χρώμα είναι είτε προφανείς από το ίδιο το περιεχόμενο (π.χ. το ορατό κείμενο), είτε περιλαμβάνονται με εναλλακτικά μέσα, όπως πρόσθετο κείμενο που είναι κρυμμένο με την .visually-hidden
τάξη.
Με κονκάρδες
Προσθέστε σήματα σε οποιοδήποτε στοιχείο της ομάδας λίστας για να εμφανίσετε τις μη αναγνωσμένες μετρήσεις, τη δραστηριότητα και άλλα με τη βοήθεια ορισμένων βοηθητικών προγραμμάτων .
- Ένα στοιχείο λίστας14
- Ένα δεύτερο στοιχείο λίστας2
- Ένα τρίτο στοιχείο λίστας1
<ul class="list-group">
<li class="list-group-item d-flex justify-content-between align-items-center">
A list item
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
A second list item
<span class="badge bg-primary rounded-pill">2</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
A third list item
<span class="badge bg-primary rounded-pill">1</span>
</li>
</ul>
Προσαρμοσμένο περιεχόμενο
Προσθέστε σχεδόν οποιοδήποτε HTML μέσα, ακόμη και για συνδεδεμένες ομάδες λιστών όπως η παρακάτω, με τη βοήθεια των βοηθητικών προγραμμάτων flexbox .
Επικεφαλίδα στοιχείου ομάδας λίστας
πριν από 3 ημέρεςΟρισμένο περιεχόμενο placeholder σε μια παράγραφο.
Και μερικά μικρά γράμματα.Επικεφαλίδα στοιχείου ομάδας λίστας
πριν από 3 ημέρεςΟρισμένο περιεχόμενο placeholder σε μια παράγραφο.
Και μερικά σίγαστα μικρά γράμματα.Επικεφαλίδα στοιχείου ομάδας λίστας
πριν από 3 ημέρεςΟρισμένο περιεχόμενο placeholder σε μια παράγραφο.
Και μερικά σίγαστα μικρά γράμματα.<div class="list-group">
<a href="#" class="list-group-item list-group-item-action active" aria-current="true">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">List group item heading</h5>
<small>3 days ago</small>
</div>
<p class="mb-1">Some placeholder content in a paragraph.</p>
<small>And some small print.</small>
</a>
<a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">List group item heading</h5>
<small class="text-muted">3 days ago</small>
</div>
<p class="mb-1">Some placeholder content in a paragraph.</p>
<small class="text-muted">And some muted small print.</small>
</a>
<a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">List group item heading</h5>
<small class="text-muted">3 days ago</small>
</div>
<p class="mb-1">Some placeholder content in a paragraph.</p>
<small class="text-muted">And some muted small print.</small>
</a>
</div>
Πλαίσια ελέγχου και ραδιόφωνα
Τοποθετήστε τα πλαίσια ελέγχου και τα ραδιόφωνα του Bootstrap μέσα στα στοιχεία της ομάδας λίστας και προσαρμόστε τα όπως απαιτείται. Μπορείτε να τα χρησιμοποιήσετε χωρίς <label>
s, αλλά θυμηθείτε να συμπεριλάβετε ένα aria-label
χαρακτηριστικό και μια τιμή για την προσβασιμότητα.
<ul class="list-group">
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" id="firstCheckbox">
<label class="form-check-label" for="firstCheckbox">First checkbox</label>
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" id="secondCheckbox">
<label class="form-check-label" for="secondCheckbox">Second checkbox</label>
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" id="thirdCheckbox">
<label class="form-check-label" for="thirdCheckbox">Third checkbox</label>
</li>
</ul>
<ul class="list-group">
<li class="list-group-item">
<input class="form-check-input me-1" type="radio" name="listGroupRadio" value="" id="firstRadio" checked>
<label class="form-check-label" for="firstRadio">First radio</label>
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="radio" name="listGroupRadio" value="" id="secondRadio">
<label class="form-check-label" for="secondRadio">Second radio</label>
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="radio" name="listGroupRadio" value="" id="thirdRadio">
<label class="form-check-label" for="thirdRadio">Third radio</label>
</li>
</ul>
Μπορείτε να χρησιμοποιήσετε .stretched-link
το <label>
s για να κάνετε κλικ σε ολόκληρο το στοιχείο της ομάδας λίστας.
<ul class="list-group">
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" id="firstCheckboxStretched">
<label class="form-check-label stretched-link" for="firstCheckboxStretched">First checkbox</label>
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" id="secondCheckboxStretched">
<label class="form-check-label stretched-link" for="secondCheckboxStretched">Second checkbox</label>
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" id="thirdCheckboxStretched">
<label class="form-check-label stretched-link" for="thirdCheckboxStretched">Third checkbox</label>
</li>
</ul>
CSS
Μεταβλητές
Προστέθηκε στην έκδοση 5.2.0Ως μέρος της εξελισσόμενης προσέγγισης μεταβλητών CSS του Bootstrap, οι ομάδες λιστών χρησιμοποιούν πλέον τοπικές μεταβλητές CSS .list-group
για βελτιωμένη προσαρμογή σε πραγματικό χρόνο. Οι τιμές για τις μεταβλητές CSS ορίζονται μέσω Sass, επομένως η προσαρμογή Sass εξακολουθεί να υποστηρίζεται.
--#{$prefix}list-group-color: #{$list-group-color};
--#{$prefix}list-group-bg: #{$list-group-bg};
--#{$prefix}list-group-border-color: #{$list-group-border-color};
--#{$prefix}list-group-border-width: #{$list-group-border-width};
--#{$prefix}list-group-border-radius: #{$list-group-border-radius};
--#{$prefix}list-group-item-padding-x: #{$list-group-item-padding-x};
--#{$prefix}list-group-item-padding-y: #{$list-group-item-padding-y};
--#{$prefix}list-group-action-color: #{$list-group-action-color};
--#{$prefix}list-group-action-hover-color: #{$list-group-action-hover-color};
--#{$prefix}list-group-action-hover-bg: #{$list-group-hover-bg};
--#{$prefix}list-group-action-active-color: #{$list-group-action-active-color};
--#{$prefix}list-group-action-active-bg: #{$list-group-action-active-bg};
--#{$prefix}list-group-disabled-color: #{$list-group-disabled-color};
--#{$prefix}list-group-disabled-bg: #{$list-group-disabled-bg};
--#{$prefix}list-group-active-color: #{$list-group-active-color};
--#{$prefix}list-group-active-bg: #{$list-group-active-bg};
--#{$prefix}list-group-active-border-color: #{$list-group-active-border-color};
Μεταβλητές Sass
$list-group-color: $gray-900;
$list-group-bg: $white;
$list-group-border-color: rgba($black, .125);
$list-group-border-width: $border-width;
$list-group-border-radius: $border-radius;
$list-group-item-padding-y: $spacer * .5;
$list-group-item-padding-x: $spacer;
$list-group-item-bg-scale: -80%;
$list-group-item-color-scale: 40%;
$list-group-hover-bg: $gray-100;
$list-group-active-color: $component-active-color;
$list-group-active-bg: $component-active-bg;
$list-group-active-border-color: $list-group-active-bg;
$list-group-disabled-color: $gray-600;
$list-group-disabled-bg: $list-group-bg;
$list-group-action-color: $gray-700;
$list-group-action-hover-color: $list-group-action-color;
$list-group-action-active-color: $body-color;
$list-group-action-active-bg: $gray-200;
Μείγματα
Χρησιμοποιείται σε συνδυασμό με $theme-colors
για τη δημιουργία κλάσεων παραλλαγών με βάση τα συμφραζόμενα για .list-group-item
s.
@mixin list-group-item-variant($state, $background, $color) {
.list-group-item-#{$state} {
color: $color;
background-color: $background;
&.list-group-item-action {
&:hover,
&:focus {
color: $color;
background-color: shade-color($background, 10%);
}
&.active {
color: $white;
background-color: $color;
border-color: $color;
}
}
}
}
Βρόχος
Βρόχος που δημιουργεί τις κατηγορίες τροποποιητών με το list-group-item-variant()
mixin.
// List group contextual variants
//
// Add modifier classes to change text and background color on individual items.
// Organizationally, this must come after the `:hover` states.
@each $state, $value in $theme-colors {
$list-group-variant-bg: shift-color($value, $list-group-item-bg-scale);
$list-group-variant-color: shift-color($value, $list-group-item-color-scale);
@if (contrast-ratio($list-group-variant-bg, $list-group-variant-color) < $min-contrast-ratio) {
$list-group-variant-color: mix($value, color-contrast($list-group-variant-bg), abs($list-group-item-color-scale));
}
@include list-group-item-variant($state, $list-group-variant-bg, $list-group-variant-color);
}
Συμπεριφορά JavaScript
Χρησιμοποιήστε το πρόσθετο JavaScript της καρτέλας—συμπεριλάβετέ το μεμονωμένα ή μέσω του μεταγλωττισμένου bootstrap.js
αρχείου—για να επεκτείνουμε την ομάδα λίστας μας για να δημιουργήσουμε παράθυρα με καρτέλες τοπικού περιεχομένου.
<div class="row">
<div class="col-4">
<div class="list-group" id="list-tab" role="tablist">
<a class="list-group-item list-group-item-action active" id="list-home-list" data-bs-toggle="list" href="#list-home" role="tab" aria-controls="list-home">Home</a>
<a class="list-group-item list-group-item-action" id="list-profile-list" data-bs-toggle="list" href="#list-profile" role="tab" aria-controls="list-profile">Profile</a>
<a class="list-group-item list-group-item-action" id="list-messages-list" data-bs-toggle="list" href="#list-messages" role="tab" aria-controls="list-messages">Messages</a>
<a class="list-group-item list-group-item-action" id="list-settings-list" data-bs-toggle="list" href="#list-settings" role="tab" aria-controls="list-settings">Settings</a>
</div>
</div>
<div class="col-8">
<div class="tab-content" id="nav-tabContent">
<div class="tab-pane fade show active" id="list-home" role="tabpanel" aria-labelledby="list-home-list">...</div>
<div class="tab-pane fade" id="list-profile" role="tabpanel" aria-labelledby="list-profile-list">...</div>
<div class="tab-pane fade" id="list-messages" role="tabpanel" aria-labelledby="list-messages-list">...</div>
<div class="tab-pane fade" id="list-settings" role="tabpanel" aria-labelledby="list-settings-list">...</div>
</div>
</div>
</div>
Χρήση χαρακτηριστικών δεδομένων
Μπορείτε να ενεργοποιήσετε μια πλοήγηση σε μια ομάδα λίστας χωρίς να γράψετε JavaScript απλά προσδιορίζοντας data-bs-toggle="list"
ή σε ένα στοιχείο. Χρησιμοποιήστε αυτά τα χαρακτηριστικά δεδομένων στο .list-group-item
.
<div role="tabpanel">
<!-- List group -->
<div class="list-group" id="myList" role="tablist">
<a class="list-group-item list-group-item-action active" data-bs-toggle="list" href="#home" role="tab">Home</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#profile" role="tab">Profile</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#messages" role="tab">Messages</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#settings" role="tab">Settings</a>
</div>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane active" id="home" role="tabpanel">...</div>
<div class="tab-pane" id="profile" role="tabpanel">...</div>
<div class="tab-pane" id="messages" role="tabpanel">...</div>
<div class="tab-pane" id="settings" role="tabpanel">...</div>
</div>
</div>
Μέσω JavaScript
Ενεργοποίηση στοιχείου λίστας με καρτέλες μέσω JavaScript (κάθε στοιχείο λίστας πρέπει να ενεργοποιηθεί ξεχωριστά):
const triggerTabList = document.querySelectorAll('#myTab a')
triggerTabList.forEach(triggerEl => {
const tabTrigger = new bootstrap.Tab(triggerEl)
triggerEl.addEventListener('click', event => {
event.preventDefault()
tabTrigger.show()
})
})
Μπορείτε να ενεργοποιήσετε μεμονωμένα στοιχεία λίστας με διάφορους τρόπους:
const triggerEl = document.querySelector('#myTab a[href="#profile"]')
bootstrap.Tab.getInstance(triggerEl).show() // Select tab by name
const triggerFirstTabEl = document.querySelector('#myTab li:first-child a')
bootstrap.Tab.getInstance(triggerFirstTabEl).show() // Select first tab
Εφέ εξασθένισης
Για να κάνετε τις καρτέλες να ξεθωριάζουν, προσθέστε .fade
σε κάθε .tab-pane
. Το πρώτο παράθυρο καρτέλας πρέπει επίσης .show
να κάνει ορατό το αρχικό περιεχόμενο.
<div class="tab-content">
<div class="tab-pane fade show active" id="home" role="tabpanel">...</div>
<div class="tab-pane fade" id="profile" role="tabpanel">...</div>
<div class="tab-pane fade" id="messages" role="tabpanel">...</div>
<div class="tab-pane fade" id="settings" role="tabpanel">...</div>
</div>
Μέθοδοι
Ασύγχρονες μέθοδοι και μεταβάσεις
Όλες οι μέθοδοι API είναι ασύγχρονες και ξεκινούν μια μετάβαση . Επιστρέφουν στον καλούντα μόλις ξεκινήσει η μετάβαση αλλά πριν τελειώσει . Επιπλέον, μια κλήση μεθόδου σε ένα στοιχείο μετάβασης θα αγνοηθεί .
Δείτε την τεκμηρίωση JavaScript για περισσότερες πληροφορίες .
Ενεργοποιεί το περιεχόμενό σας ως στοιχείο καρτέλας.
Μπορείτε να δημιουργήσετε μια παρουσία καρτέλας με τον κατασκευαστή, για παράδειγμα:
const bsTab = new bootstrap.Tab('#myTab')
Μέθοδος | Περιγραφή |
---|---|
dispose |
Καταστρέφει την καρτέλα ενός στοιχείου. |
getInstance |
Στατική μέθοδος που σας επιτρέπει να λάβετε την παρουσία της καρτέλας που σχετίζεται με ένα στοιχείο DOM, μπορείτε να τη χρησιμοποιήσετε ως εξής: bootstrap.Tab.getInstance(element) . |
getOrCreateInstance |
Στατική μέθοδος που επιστρέφει μια παρουσία καρτέλας που σχετίζεται με ένα στοιχείο DOM ή δημιουργεί μια νέα σε περίπτωση που δεν είχε αρχικοποιηθεί. Μπορείτε να το χρησιμοποιήσετε ως εξής: bootstrap.Tab.getOrCreateInstance(element) . |
show |
Επιλέγει τη δεδομένη καρτέλα και εμφανίζει το σχετικό παράθυρο. Οποιαδήποτε άλλη καρτέλα που είχε επιλεγεί προηγουμένως γίνεται μη επιλεγμένη και το συσχετισμένο τμήμα παραθύρου κρύβεται. Επιστρέφει στον καλούντα πριν εμφανιστεί πραγματικά το παράθυρο καρτέλας (δηλαδή πριν συμβεί το shown.bs.tab συμβάν). |
Εκδηλώσεις
Κατά την εμφάνιση μιας νέας καρτέλας, τα συμβάντα ενεργοποιούνται με την ακόλουθη σειρά:
hide.bs.tab
(στην τρέχουσα ενεργή καρτέλα)show.bs.tab
(στην καρτέλα που θα εμφανιστεί)hidden.bs.tab
(στην προηγούμενη ενεργή καρτέλα, η ίδια με τηνhide.bs.tab
εκδήλωση)shown.bs.tab
(στην πρόσφατα ενεργή καρτέλα που μόλις εμφανίστηκε, η ίδια όπως και για τηνshow.bs.tab
εκδήλωση)
Εάν καμία καρτέλα δεν ήταν ήδη ενεργή, τότε τα συμβάντα hide.bs.tab
και hidden.bs.tab
δεν θα ενεργοποιηθούν.
Τύπος συμβάντος | Περιγραφή |
---|---|
hide.bs.tab |
Αυτό το συμβάν ενεργοποιείται όταν πρόκειται να εμφανιστεί μια νέα καρτέλα (και επομένως η προηγούμενη ενεργή καρτέλα πρέπει να κρυφτεί). Χρησιμοποιήστε event.target και event.relatedTarget για να στοχεύσετε την τρέχουσα ενεργή καρτέλα και τη νέα καρτέλα που θα ενεργοποιηθεί σύντομα, αντίστοιχα. |
hidden.bs.tab |
Αυτό το συμβάν ενεργοποιείται μετά την εμφάνιση μιας νέας καρτέλας (και επομένως η προηγούμενη ενεργή καρτέλα αποκρύπτεται). Χρησιμοποιήστε event.target και event.relatedTarget για να στοχεύσετε την προηγούμενη ενεργή καρτέλα και τη νέα ενεργή καρτέλα, αντίστοιχα. |
show.bs.tab |
Αυτό το συμβάν ενεργοποιείται στην εμφάνιση καρτελών, αλλά πριν εμφανιστεί η νέα καρτέλα. Χρησιμοποιήστε event.target και event.relatedTarget για να στοχεύσετε την ενεργή καρτέλα και την προηγούμενη ενεργή καρτέλα (αν είναι διαθέσιμη) αντίστοιχα. |
shown.bs.tab |
Αυτό το συμβάν ενεργοποιείται στην εμφάνιση καρτελών μετά την εμφάνιση μιας καρτέλας. Χρησιμοποιήστε event.target και event.relatedTarget για να στοχεύσετε την ενεργή καρτέλα και την προηγούμενη ενεργή καρτέλα (αν είναι διαθέσιμη) αντίστοιχα. |
const tabElms = document.querySelectorAll('a[data-bs-toggle="list"]')
tabElms.forEach(tabElm => {
tabElm.addEventListener('shown.bs.tab', event => {
event.target // newly activated tab
event.relatedTarget // previous active tab
})
})