Listgrupp
Listgrupper är en flexibel och kraftfull komponent för att visa en serie innehåll. Ändra och utöka dem för att stödja nästan vilket innehåll som helst.
Grundläggande exempel
Den mest grundläggande listgruppen är en oordnad lista med listobjekt och de rätta klasserna. Bygg på det med alternativen som följer, eller med din egen CSS efter behov.
- Ett föremål
- Ett andra föremål
- En tredje sak
- En fjärde punkt
- Och en femte
<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>
Aktiva föremål
Lägg .active
till ett .list-group-item
för att indikera det aktuella aktiva valet.
- Ett aktivt objekt
- Ett andra föremål
- En tredje sak
- En fjärde punkt
- Och en femte
<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>
Inaktiverade objekt
Lägg .disabled
till ett .list-group-item
för att få det att se inaktiverat. Observera att vissa element med .disabled
även kommer att kräva anpassad JavaScript för att helt inaktivera sina klickhändelser (t.ex. länkar).
- Ett inaktiverat föremål
- Ett andra föremål
- En tredje sak
- En fjärde punkt
- Och en femte
<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>
Länkar och knappar
Använd <a>
s eller <button>
s för att skapa handlingsbara listgruppobjekt med hovra, inaktiverade och aktiva tillstånd genom att lägga till .list-group-item-action
. Vi separerar dessa pseudoklasser för att säkerställa att listgrupper gjorda av icke-interaktiva element (som <li>
s eller <div>
s) inte ger ett klick eller tryck.
Se till att inte använda standardklasserna .btn
här .
<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>
Med <button>
s kan du också använda disabled
attributet istället för .disabled
klassen. Tyvärr <a>
stöder inte attributet disabled.
<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 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>
Spola
Lägg .list-group-flush
till för att ta bort vissa kanter och rundade hörn för att rendera listgruppobjekt kant till kant i en överordnad behållare (t.ex. kort).
- Ett föremål
- Ett andra föremål
- En tredje sak
- En fjärde punkt
- Och en femte
<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>
Numrerad
Lägg till .list-group-numbered
modifieringsklassen (och använd eventuellt ett <ol>
element) för att välja numrerade listgruppobjekt. Siffror genereras via CSS (i motsats till standardutformningen av <ol>
webbläsaren) för bättre placering i listgruppobjekt och för att möjliggöra bättre anpassning.
Siffror genereras av counter-reset
på <ol>
, och formateras sedan och placeras med ett ::before
pseudoelement på <li>
med counter-increment
och content
.
- Ett listobjekt
- Ett listobjekt
- Ett listobjekt
<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>
Dessa fungerar också bra med anpassat innehåll.
-
UnderrubrikInnehåll för listobjekt
-
UnderrubrikInnehåll för listobjekt
-
UnderrubrikInnehåll för listobjekt
<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>
Horisontell
Lägg .list-group-horizontal
till för att ändra layouten för listgruppobjekt från vertikal till horisontell över alla brytpunkter. Alternativt kan du välja en responsiv variant .list-group-horizontal-{sm|md|lg|xl|xxl}
för att göra en listgrupp horisontell med början vid den brytpunktens min-width
. För närvarande kan horisontella listgrupper inte kombineras med spollistgrupper.
ProTip: Vill du ha lika breda listgruppobjekt när de är horisontella? Lägg .flex-fill
till objekt i varje listgrupp.
- Ett föremål
- Ett andra föremål
- En tredje sak
- Ett föremål
- Ett andra föremål
- En tredje sak
- Ett föremål
- Ett andra föremål
- En tredje sak
- Ett föremål
- Ett andra föremål
- En tredje sak
- Ett föremål
- Ett andra föremål
- En tredje sak
- Ett föremål
- Ett andra föremål
- En tredje sak
<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>
Kontextuella klasser
Använd kontextuella klasser för att utforma listobjekt med en tilltalande bakgrund och färg.
- En enkel standardlista gruppobjekt
- Ett enkelt primärt listgruppobjekt
- Ett enkelt sekundärt listgruppobjekt
- Ett enkelt gruppobjekt med framgångslista
- En enkel farolista gruppobjekt
- En enkel varningslista gruppobjekt
- En enkel informationslista gruppobjekt
- En enkel grupppost för ljuslista
- En enkel mörk lista gruppobjekt
<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>
Kontextuella klasser arbetar också med .list-group-item-action
. Notera tillägget av svävstilarna här som inte finns i föregående exempel. Även staten stöds .active
; tillämpa den för att indikera ett aktivt val på ett kontextuellt listgruppobjekt.
<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>
Förmedla mening till hjälpmedel
Att använda färg för att lägga till mening ger bara en visuell indikation, som inte kommer att förmedlas till användare av hjälpmedel – som skärmläsare. Se till att information som betecknas med färgen antingen är uppenbar från själva innehållet (t.ex. den synliga texten), eller är inkluderad på andra sätt, såsom ytterligare text gömd med .visually-hidden
klassen.
Med märken
Lägg till märken till valfritt listgruppobjekt för att visa olästa antal, aktivitet och mer med hjälp av några verktyg .
- Ett listobjekt14
- Ett andra listobjekt2
- En tredje lista1
<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>
Anpassat innehåll
Lägg till nästan vilken HTML som helst inom, även för länkade listgrupper som den nedan, med hjälp av flexbox-verktyg .
Rubrik för listgruppobjekt
3 dagar sedanViss platshållarinnehåll i ett stycke.
Och lite finstilt.Rubrik för listgruppobjekt
3 dagar sedanViss platshållarinnehåll i ett stycke.
Och lite dämpat finstilt.Rubrik för listgruppobjekt
3 dagar sedanViss platshållarinnehåll i ett stycke.
Och lite dämpat finstilt.<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>
Kryssrutor och radioapparater
Placera Bootstraps kryssrutor och radioapparater i listgruppobjekt och anpassa efter behov. Du kan använda dem utan <label>
s, men kom ihåg att inkludera ett aria-label
attribut och värde för tillgänglighet.
- Första kryssrutan
- Andra kryssrutan
- Tredje kryssrutan
- Fjärde kryssrutan
- Femte kryssrutan
<ul class="list-group">
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
First checkbox
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
Second checkbox
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
Third checkbox
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
Fourth checkbox
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
Fifth checkbox
</li>
</ul>
Och om du vill ha <label>
s som .list-group-item
för stora träffområden kan du göra det också.
<div class="list-group">
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
First checkbox
</label>
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
Second checkbox
</label>
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
Third checkbox
</label>
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
Fourth checkbox
</label>
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
Fifth checkbox
</label>
</div>
Sass
Variabler
$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;
Mixins
Används i kombination med $theme-colors
för att generera de kontextuella variantklasserna för .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;
}
}
}
}
Slinga
Slinga som genererar modifieringsklasserna med 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-beteende
Använd fliken JavaScript-plugin – inkludera den individuellt eller genom den kompilerade bootstrap.js
filen – för att utöka vår listgrupp för att skapa flikar med lokalt innehåll.
<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>
Använda dataattribut
Du kan aktivera en listgruppsnavigering utan att skriva något JavaScript genom att helt enkelt ange data-bs-toggle="list"
eller på ett element. Använd dessa dataattribut på .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>
Via JavaScript
Aktivera tabellobjekt via JavaScript (varje listobjekt måste aktiveras individuellt):
var triggerTabList = [].slice.call(document.querySelectorAll('#myTab a'))
triggerTabList.forEach(function (triggerEl) {
var tabTrigger = new bootstrap.Tab(triggerEl)
triggerEl.addEventListener('click', function (event) {
event.preventDefault()
tabTrigger.show()
})
})
Du kan aktivera individuella listobjekt på flera sätt:
var triggerEl = document.querySelector('#myTab a[href="#profile"]')
bootstrap.Tab.getInstance(triggerEl).show() // Select tab by name
var triggerFirstTabEl = document.querySelector('#myTab li:first-child a')
bootstrap.Tab.getInstance(triggerFirstTabEl).show() // Select first tab
Tona effekt
För att få flikpanelen att tona in, lägg .fade
till i varje .tab-pane
. Den första flikrutan måste också .show
göra det ursprungliga innehållet synligt.
<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>
Metoder
constructor
Aktiverar ett listobjekt och innehållsbehållare. Tab ska ha antingen en data-bs-target
eller en href
inriktning på en containernod i DOM.
<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>
<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>
<script>
var firstTabEl = document.querySelector('#myTab a:last-child')
var firstTab = new bootstrap.Tab(firstTabEl)
firstTab.show()
</script>
show
Väljer det givna listobjektet och visar dess tillhörande fönster. Alla andra listobjekt som tidigare valts avmarkeras och dess tillhörande ruta döljs. Återgår till den som ringer innan flikrutan faktiskt har visats (till exempel innan shown.bs.tab
händelsen inträffar).
var someListItemEl = document.querySelector('#someListItem')
var tab = new bootstrap.Tab(someListItemEl)
tab.show()
kassera
Förstör ett elements flik.
getInstance
Statisk metod som låter dig få tabbinstansen associerad med ett DOM-element
var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getInstance(triggerEl) // Returns a Bootstrap tab instance
getOrCreateInstance
Statisk metod som låter dig få tabbinstansen associerad med ett DOM-element, eller skapa en ny om den inte initierades
var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getOrCreateInstance(triggerEl) // Returns a Bootstrap tab instance
evenemang
När en ny flik visas aktiveras händelserna i följande ordning:
hide.bs.tab
(på den aktuella aktiva fliken)show.bs.tab
(på fliken som ska visas)hidden.bs.tab
(på föregående aktiva flik, samma som förhide.bs.tab
händelsen)shown.bs.tab
(på den nyligen aktiva fliken som just visades, samma som förshow.bs.tab
evenemanget)
Om ingen flik redan var aktiv kommer händelserna hide.bs.tab
och hidden.bs.tab
inte att aktiveras.
Event typ | Beskrivning |
---|---|
show.bs.tab |
Den här händelsen aktiveras vid flikvisning, men innan den nya fliken har visats. Använd event.target och event.relatedTarget för att rikta in den aktiva fliken respektive den föregående aktiva fliken (om tillgänglig). |
shown.bs.tab |
Den här händelsen aktiveras vid flikvisning efter att en flik har visats. Använd event.target och event.relatedTarget för att rikta in den aktiva fliken respektive den föregående aktiva fliken (om tillgänglig). |
hide.bs.tab |
Den här händelsen aktiveras när en ny flik ska visas (och därmed den tidigare aktiva fliken ska döljas). Använd event.target och event.relatedTarget för att rikta in den aktuella aktiva fliken respektive den nya snart-aktiva fliken. |
hidden.bs.tab |
Den här händelsen aktiveras efter att en ny flik har visats (och den tidigare aktiva fliken döljs därför). Använd event.target och event.relatedTarget för att rikta in den tidigare aktiva fliken respektive den nya aktiva fliken. |
var tabElms = document.querySelectorAll('a[data-bs-toggle="list"]')
tabElms.forEach(function(tabElm) {
tabElm.addEventListener('shown.bs.tab', function (event) {
event.target // newly activated tab
event.relatedTarget // previous active tab
})
}