Karussell
Eng Slideshow Komponent fir Vëlo duerch Elementer - Biller oder Rutschen vum Text - wéi e Karussell.
Wéi et funktionnéiert
De Karussell ass eng Diashow fir Vëlo duerch eng Serie vun Inhalter, gebaut mat CSS 3D Transformatiounen an e bësse JavaScript. Et funktionnéiert mat enger Serie vu Biller, Text oder personaliséiert Markup. Et enthält och Ënnerstëtzung fir virdrun / nächst Kontrollen an Indikatoren.
A Browser wou d' Säit Visibilitéit API ënnerstëtzt gëtt, vermeit de Karussell rutschen wann d'Websäit net fir de Benotzer sichtbar ass (wéi wann de Browser Tab inaktiv ass, d'Browserfenster miniméiert ass, etc.).
prefers-reduced-motion
Medienufro of. Kuckt d'
Reduktiounsbewegungssektioun vun eiser Accessibilitéitsdokumentatioun .
W.e.g. bewosst datt nestéiert Karussell net ënnerstëtzt ginn, a Karussell sinn allgemeng net konform mat Accessibilitéitsnormen.
Beispill
Karussell normaliséieren net automatesch d'Dimensioune vun der Rutsch. Als solch musst Dir eventuell zousätzlech Utilities oder personaliséiert Stiler benotze fir den Inhalt entspriechend ze gréissen. Wärend Karussell ënnerstëtzen fréier / nächst Kontrollen an Indikatoren, si sinn net explizit erfuerderlech. Füügt a personaliséiert wéi Dir passt.
D' .active
Klass muss op eng vun de Rutschen bäigefüügt ginn, soss ass de Karussell net ze gesinn. Ginn och sécher op eng eenzegaarteg id
op der .carousel
fir fakultativ Kontrollen ze setzen, virun allem wann Dir MÉI Karussell op enger eenzeger Säit benotzt. Kontroll- an Indikatorelementer mussen en data-bs-target
Attribut hunn (oder href
fir Linken) déi id
dem .carousel
Element entspriechen.
Nëmmen Rutschen
Hei ass nëmmen eng Karussell mat Rutschen. Notéiert d'Präsenz vun den .d-block
an .w-100
op Karussellbiller fir Browser Standardbildausrichtung ze verhënneren.
<div id="carouselExampleSlidesOnly" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div>
</div>
</div>
Mat Kontrollen
Füügt an de fréieren an nächste Kontrollen. Mir recommandéieren <button>
Elementer ze benotzen, awer Dir kënnt och <a>
Elementer mat benotzen role="button"
.
<div id="carouselExampleControls" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleControls" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleControls" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
Mat Indicateuren
Dir kënnt och d'Indikatoren op de Karussell addéieren, nieft de Kontrollen och.
<div id="carouselExampleIndicators" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-indicators">
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="1" aria-label="Slide 2"></button>
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="2" aria-label="Slide 3"></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
Mat Iwwerschrëften
Füügt Ënnerschrëften op Är Rutschen einfach mat dem .carousel-caption
Element an all .carousel-item
. Si kënne ganz einfach op méi klenge Viewports verstoppt ginn, wéi hei ënnendrënner, mat optionalen Display-Utilities . Mir verstoppen se am Ufank mat .d-none
a bréngen se zréck op mëttelgrouss Apparater mat .d-md-block
.
<div id="carouselExampleCaptions" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-indicators">
<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="1" aria-label="Slide 2"></button>
<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="2" aria-label="Slide 3"></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="..." class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>First slide label</h5>
<p>Some representative placeholder content for the first slide.</p>
</div>
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>Second slide label</h5>
<p>Some representative placeholder content for the second slide.</p>
</div>
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>Third slide label</h5>
<p>Some representative placeholder content for the third slide.</p>
</div>
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
Crossfade
Füügt .carousel-fade
op Äre Karussell fir Rutschen ze animéieren mat engem Fade-Iwwergang amplaz vun enger Rutsch.
<div id="carouselExampleFade" class="carousel slide carousel-fade" data-bs-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleFade" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleFade" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
Individuell .carousel-item
Intervall
Füügt data-bs-interval=""
zu engem .carousel-item
fir d'Zäit ze änneren fir ze verzögeren tëscht automateschen Vëlo op den nächsten Element.
<div id="carouselExampleInterval" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active" data-bs-interval="10000">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item" data-bs-interval="2000">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleInterval" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleInterval" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
Touch Swiping auszeschalten
Karussell ënnerstëtzen lénks / riets swipen op Touchscreen Geräter fir tëscht Rutschen ze réckelen. Dëst kann mat dem data-bs-touch
Attribut behënnert ginn. D'Beispill hei drënner enthält och net den data-bs-ride
Attribut an huet data-bs-interval="false"
also net autoplay.
<div id="carouselExampleControlsNoTouching" class="carousel slide" data-bs-touch="false" data-bs-interval="false">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleControlsNoTouching" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleControlsNoTouching" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
Däischter Variant
Füügt .carousel-dark
der .carousel
fir däischter Kontrollen, Indikatoren an Ënnerschrëften. D'Kontrollen goufen ëmgedréint vun hirer Standardwäiss Fëllung mat der filter
CSS Eegeschafte. Iwwerschrëften a Kontrollen hunn zousätzlech Sass Variabelen déi den color
an personaliséieren background-color
.
<div id="carouselExampleDark" class="carousel carousel-dark slide" data-bs-ride="carousel">
<div class="carousel-indicators">
<button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="1" aria-label="Slide 2"></button>
<button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="2" aria-label="Slide 3"></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active" data-bs-interval="10000">
<img src="..." class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>First slide label</h5>
<p>Some representative placeholder content for the first slide.</p>
</div>
</div>
<div class="carousel-item" data-bs-interval="2000">
<img src="..." class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>Second slide label</h5>
<p>Some representative placeholder content for the second slide.</p>
</div>
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>Third slide label</h5>
<p>Some representative placeholder content for the third slide.</p>
</div>
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleDark" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleDark" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
Benotzerdefinéiert Iwwergank
D'Iwwergangsdauer vu .carousel-item
kann mat der $carousel-transition-duration
Sass Variabel geännert ginn ier Dir kompiléiert oder personaliséiert Stiler benotzt, wann Dir de kompiléierte CSS benotzt. Wann méi Iwwergäng applizéiert ginn, gitt sécher datt den Transformatiounsiwwergang als éischt definéiert ass (z.B. transition: transform 2s ease, opacity .5s ease-out
).
Sass
Variablen
$carousel-control-color: $white;
$carousel-control-width: 15%;
$carousel-control-opacity: .5;
$carousel-control-hover-opacity: .9;
$carousel-control-transition: opacity .15s ease;
$carousel-indicator-width: 30px;
$carousel-indicator-height: 3px;
$carousel-indicator-hit-area-height: 10px;
$carousel-indicator-spacer: 3px;
$carousel-indicator-opacity: .5;
$carousel-indicator-active-bg: $white;
$carousel-indicator-active-opacity: 1;
$carousel-indicator-transition: opacity .6s ease;
$carousel-caption-width: 70%;
$carousel-caption-color: $white;
$carousel-caption-padding-y: 1.25rem;
$carousel-caption-spacer: 1.25rem;
$carousel-control-icon-width: 2rem;
$carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>");
$carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>");
$carousel-transition-duration: .6s;
$carousel-transition: transform $carousel-transition-duration ease-in-out; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)
$carousel-dark-indicator-active-bg: $black;
$carousel-dark-caption-color: $black;
$carousel-dark-control-icon-filter: invert(1) grayscale(100);
Benotzung
Via daten Attributer
Benotzt Datenattributer fir d'Positioun vum Karussell einfach ze kontrolléieren. data-bs-slide
akzeptéiert d'Schlësselwierder prev
oder next
, déi d'Rutschpositioun relativ zu senger aktueller Positioun ännert. Alternativ benotzt data-bs-slide-to
fir e roude Rutschindex un de Karussell ze passéieren data-bs-slide-to="2"
, deen d'Rutschpositioun op e bestëmmten Index verännert, deen mat ufänkt 0
.
Den data-bs-ride="carousel"
Attribut gëtt benotzt fir e Karussell als Animatioun ze markéieren, ugefaange bei der Lueden vun der Säit. Wann Dir net benotzt data-bs-ride="carousel"
fir Är Karussell ze initialiséieren, musst Dir se selwer initialiséieren. Et kann net a Kombinatioun mat (redundant an onnéideg) explizit JavaScript Initialiséierung vun der selwechter Karussell benotzt ginn.
Iwwer JavaScript
Call Karussell manuell mat:
var myCarousel = document.querySelector('#myCarousel')
var carousel = new bootstrap.Carousel(myCarousel)
Optiounen
Optiounen kënnen iwwer Datenattributer oder JavaScript weidergeleet ginn. Fir Datenattributer, fügen d'Optiounsnumm un data-bs-
, wéi an data-bs-interval=""
.
Numm | Typ | Default | Beschreiwung |
---|---|---|---|
interval |
Zuel | 5000 |
De Betrag vun der Zäit fir ze verzögeren tëscht dem automateschen Vëlo vun engem Element. Wann false , Karussell wäert net automatesch Zyklus. |
keyboard |
boolesch | true |
Ob de Karussell op Keyboard Eventer reagéiere soll. |
pause |
streng | boolesch | 'hover' |
Wann agestallt op Op Touch-aktivéierten Apparater, wann se op gesat ginn |
ride |
streng | boolesch | false |
Autoplays de Karussell nodeems de Benotzer den éischten Element manuell cycléiert. Wann op gesat 'carousel' , spillt de Karussell automatesch beim Laascht. |
wrap |
boolesch | true |
Op de Karussell soll kontinuéierlech fueren oder schwéier Arrêten hunn. |
touch |
boolesch | true |
Ob de Karussell soll lénks / riets Swipe Interaktiounen op Touchscreen Geräter ënnerstëtzen. |
Methoden
Asynchron Methoden an Iwwergäng
All API Methoden sinn asynchron a starten en Iwwergang . Si ginn zréck op den Uruffer soubal den Iwwergang ugefaang ass, awer ier en eriwwer ass . Zousätzlech gëtt e Methodruff op eng Iwwergangskomponent ignoréiert .
Dir kënnt eng Karussellinstanz mam Karussellkonstruktor erstellen, zum Beispill, fir mat zousätzlech Optiounen ze initialiséieren an duerch Elementer ze fueren:
var myCarousel = document.querySelector('#myCarousel')
var carousel = new bootstrap.Carousel(myCarousel, {
interval: 2000,
wrap: false
})
Method | Beschreiwung |
---|---|
cycle |
Zyklen duerch d'Karussellartikele vu lénks op riets. |
pause |
Stoppt de Karussell aus dem Vëlo duerch Elementer. |
prev |
Zyklen op dat viregt Element. Gëtt zréck op den Uruffer ier de viregten Element gewise gouf (zB ier d' slid.bs.carousel Evenement geschitt ass). |
next |
Zyklen op den nächsten Element. Gëtt zréck op den Uruffer ier deen nächsten Element gewise gouf (zB ier d' slid.bs.carousel Evenement geschitt ass). |
nextWhenVisible |
Fuert de Karussell net op déi nächst wann d'Säit net sichtbar ass oder de Karussell oder seng Elteren net siichtbar ass. Gëtt zréck op den Uruffer ier den Zilartikel gewise gouf |
to |
Zyklen de Karussell op e bestëmmte Frame (0 baséiert, ähnlech wéi eng Array). Gitt zréck op den Uruffer ier d'Zilartikel gewise gouf (zB ier d' slid.bs.carousel Evenement geschitt ass). |
dispose |
Zerstéiert en Element Karussell. (läscht gespäichert Daten am DOM Element) |
getInstance |
Statesch Method déi Iech erlaabt d'Karussell Instanz mat engem DOM Element verbonnen ze kréien, Dir kënnt et esou benotzen:bootstrap.Carousel.getInstance(element) |
getOrCreateInstance |
Statesch Method déi eng Karussellinstanz zréckginn, déi mat engem DOM Element assoziéiert ass oder eng nei erstellt am Fall wou se net initialiséiert gouf. Dir kënnt et esou benotzen:bootstrap.Carousel.getOrCreateInstance(element) |
Evenementer
D'Bootstrap Karussell Klass weist zwee Eventer fir d'Karussell Funktionalitéit unzehaken. Béid Eventer hunn déi folgend zousätzlech Eegeschaften:
direction
: D'Richtung an där de Karussell rutscht (entweder"left"
oder"right"
).relatedTarget
: Den DOM-Element deen als aktiven Element op d'Plaz gerutscht gëtt.from
: Den Index vum aktuellen Artikelto
: Den Index vum nächste Punkt
All Karussellevenementer ginn op de Karussell selwer geschoss (dh op der <div class="carousel">
).
Event Typ | Beschreiwung |
---|---|
slide.bs.carousel |
Brennt direkt wann d' slide Instanzmethod opgeruff gëtt. |
slid.bs.carousel |
Entlooss wann de Karussell säi Rutschiwwergang ofgeschloss huet. |
var myCarousel = document.getElementById('myCarousel')
myCarousel.addEventListener('slide.bs.carousel', function () {
// do something...
})