Skip to content

nve-carousel

En karusell for å vise bilder eller annet valgfritt innhold i en serie. Nve-carousel støtter ikke propertien: orientation="vertical".

Arvet fra SlCarousel.

Denne komponenten bygger på en Shoelace-komponent. Sjekk også dokumentasjonen i Shoelace for å få full oversikt over hvordan komponenten funker.

Feil / oppgaver / PR

Ingen som vi vet om. Hvis du finner noe muffens, registrer en feil under Issues i Github og merk den med nve-carousel.

 

Se også nve-carousel-item som brukes inne i nve-carousel.

html
<nve-carousel pagination navigation>
  <nve-carousel-item>
    <img src="/assets/transmisjonsnett.jpg" alt="Transmisjonsnett" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/nigardsbreen.jpg" alt="Nigardsbreen" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/tarhalsen_fyr.jpg" alt="Tarhalsen fyr" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/skogfjordvann.jpg" alt="Skogfjordvann" />
  </nve-carousel-item>
</nve-carousel>

Karusellen brukes til å vise innhold i en serie som brukerne kan klikke seg gjennom. Karusellen fyller vidden i elementet den er plassert i.

Eksempler

Bruk navigation for å legge på navigerings-knapper på hver side av bildet i karusellen.

html
<nve-carousel navigation>
  <nve-carousel-item>
    <img src="/assets/transmisjonsnett.jpg" alt="Transmisjonsnett" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/nigardsbreen.jpg" alt="Nigardsbreen" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/tarhalsen_fyr.jpg" alt="Tarhalsen fyr" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/skogfjordvann.jpg" alt="Skogfjordvann" />
  </nve-carousel-item>
</nve-carousel>

Numerisk visning av aktivt lysbilde

Bruk pagination-counter for å legge på en "aktiv / total" visning på elementene i karusellen.

html
<nve-carousel navigation pagination-counter>
  <nve-carousel-item>
    <img src="/assets/transmisjonsnett.jpg" alt="Transmisjonsnett" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/nigardsbreen.jpg" alt="Nigardsbreen" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/tarhalsen_fyr.jpg" alt="Tarhalsen fyr" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/skogfjordvann.jpg" alt="Skogfjordvann" />
  </nve-carousel-item>
</nve-carousel>

Endre fargen på paginerings telleren ved å legge inn en inline style på --pagination-counter-color. Under er det brukt i en div for å vise eksempelet, men stylingen kan i praksis settes rett i nve-carousel.

html
<div style="--pagination-counter-color: red;">
  <nve-carousel navigation pagination-counter>
    <nve-carousel-item>
      <img src="/assets/transmisjonsnett.jpg" alt="Transmisjonsnett" />
    </nve-carousel-item>
    <nve-carousel-item>
      <img src="/assets/nigardsbreen.jpg" alt="Nigardsbreen" />
    </nve-carousel-item>
    <nve-carousel-item>
      <img src="/assets/tarhalsen_fyr.jpg" alt="Tarhalsen fyr" />
    </nve-carousel-item>
    <nve-carousel-item>
      <img src="/assets/skogfjordvann.jpg" alt="Skogfjordvann" />
    </nve-carousel-item>
  </nve-carousel>
</div>

Det kan legges til en bakgrunnsfarge på paginerings-telleren. Endre bakgrunnsfargen ved å legge inn en inline style på --pagination-counter-bg-color. Under er det brukt i en div for å vise eksempelet, men stylingen kan i praksis settes rett i nve-carousel.

html
<div style="--pagination-counter-bg-color: lightgray;">
  <nve-carousel navigation pagination-counter>
    <nve-carousel-item>
      <img src="/assets/transmisjonsnett.jpg" alt="Transmisjonsnett" />
    </nve-carousel-item>
    <nve-carousel-item>
      <img src="/assets/nigardsbreen.jpg" alt="Nigardsbreen" />
    </nve-carousel-item>
    <nve-carousel-item>
      <img src="/assets/tarhalsen_fyr.jpg" alt="Tarhalsen fyr" />
    </nve-carousel-item>
    <nve-carousel-item>
      <img src="/assets/skogfjordvann.jpg" alt="Skogfjordvann" />
    </nve-carousel-item>
  </nve-carousel>
</div>

Paginering

Bruk pagination for å legge på paginerings-knapper under bildekarusellen. Det er ikke anbefalt å bruke både pagination og pagination-counter sammen da det strider i mot design-mønstret.

html
<nve-carousel pagination>
  <nve-carousel-item>
    <img src="/assets/transmisjonsnett.jpg" alt="Transmisjonsnett" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/nigardsbreen.jpg" alt="Nigardsbreen" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/tarhalsen_fyr.jpg" alt="Tarhalsen fyr" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/skogfjordvann.jpg" alt="Skogfjordvann" />
  </nve-carousel-item>
</nve-carousel>

Looping

Bruk loop for å kunne bla igjennom bildene fra start flere ganger.

html
<nve-carousel navigation pagination loop>
  <nve-carousel-item>
    <img src="/assets/transmisjonsnett.jpg" alt="Transmisjonsnett" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/nigardsbreen.jpg" alt="Nigardsbreen" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/tarhalsen_fyr.jpg" alt="Tarhalsen fyr" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/skogfjordvann.jpg" alt="Skogfjordvann" />
  </nve-carousel-item>
</nve-carousel>

Horisontale og vertikale bilder sammen

Det er mulig å kombinere horistontalt og vertikalt innhold i karusellen, men dette endrer høyden på selve karusellen ettersom den går ut i fra det høyeste innholdet i karusellen.

html
<nve-carousel pagination navigation loop>
  <nve-carousel-item>
    <img src="/assets/transmisjonsnett.jpg" alt="Transmisjonsnett" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/snoedekkeundersoekelse.jpg" alt="Snødekkeundersøkelse" />
  </nve-carousel-item>
</nve-carousel>

Bildetekst

Bruk descriptionnve-carousel-itemfor å legge til en bildetekst til hvert bilde om ønskelig. Det er mulig å bare ha bildetekst på noen av bildene.

html
<nve-carousel navigation pagination loop>
  <nve-carousel-item description="Transmisjonsnett i Sogn og Fjordane. Foto: Velaug Amalie Mook.">
    <img src="/assets/transmisjonsnett.jpg" alt="Transmisjonsnett" />
  </nve-carousel-item>
  <nve-carousel-item description="Snømåling på Nigardsbreen.">
    <img src="/assets/nigardsbreen.jpg" alt="Nigardsbreen" />
  </nve-carousel-item>
  <nve-carousel-item description="Tarhalsen fyr Sørøya. Foto: Stig Storheil.">
    <img src="/assets/tarhalsen_fyr.jpg" alt="Tarhalsen fyr" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/skogfjordvann.jpg" alt="Skogfjordvann" />
  </nve-carousel-item>
  <nve-carousel-item description="Snødekkeundersøkelse. Foto: Gustav Pless.">
    <img src="/assets/snoedekkeundersoekelse.jpg" alt="Snødekkeundersøkelse" />
  </nve-carousel-item>
</nve-carousel>

Miniatybilder

Bruk nve-carousel-thumbnail for å vise miniatyrbilder under karusellen. Definer en lik idnve-carousel og nve-carousel-thumbnail for å koble komponentene sammen.

html
<nve-carousel navigation loop id="thumbnail">
  <nve-carousel-item>
    <img src="/assets/transmisjonsnett.jpg" alt="Transmisjonsnett" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/nigardsbreen.jpg" alt="Nigardsbreen" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/tarhalsen_fyr.jpg" alt="Tarhalsen fyr" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/skogfjordvann.jpg" alt="Skogfjordvann" />
  </nve-carousel-item>
</nve-carousel>

<nve-carousel-thumbnail carouselId="thumbnail">
  <img src="/assets/transmisjonsnett.jpg" alt="Transmisjonsnett" />
  <img src="/assets/nigardsbreen.jpg" alt="Nigardsbreen" />
  <img src="/assets/tarhalsen_fyr.jpg" alt="Tarhalsen fyr" />
  <img src="/assets/skogfjordvann.jpg" alt="Skogfjordvann" />
</nve-carousel-thumbnail>

Autoplay

Bruk autoplay til å rotere mellom bildene i karusellen automatisk. For å endre hvor lenge et lysbilde vises før det går videre, sett autoplay-interval til ønsket millisekunder. For best resultat, bruk loop-propertien når autoplay er aktivert. Autoplay vil settes på pause mens brukeren samhandler med karusellen.

html
<nve-carousel pagination loop autoplay>
  <nve-carousel-item>
    <img src="/assets/transmisjonsnett.jpg" alt="Transmisjonsnett" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/nigardsbreen.jpg" alt="Nigardsbreen" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/tarhalsen_fyr.jpg" alt="Tarhalsen fyr" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/skogfjordvann.jpg" alt="Skogfjordvann" />
  </nve-carousel-item>
</nve-carousel>

Flere lysbilder per visning

Bruk slides-per-page for å vise flere lysbilder per visning i karusellen. Du kan også bruke slides-per-move attributtet for å gå frem mer enn ett lysbilde om gangen, hvis ønskelig.

html
<nve-carousel pagination navigation slides-per-page="2" slides-per-move="2">
  <nve-carousel-item>
    <img src="/assets/transmisjonsnett.jpg" alt="Transmisjonsnett" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/nigardsbreen.jpg" alt="Nigardsbreen" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/tarhalsen_fyr.jpg" alt="Tarhalsen fyr" />
  </nve-carousel-item>
  <nve-carousel-item>
    <img src="/assets/skogfjordvann.jpg" alt="Skogfjordvann" />
  </nve-carousel-item>
</nve-carousel>

Vise noe annet enn bilder

Du kan også legge andre ting enn bilder i nve-carousel-item.

html
<nve-carousel navigation>
  <nve-carousel-item>
    <div>
      <h1>Velg språk / choose language</h1>
      <br />
      <nve-select label="Språk/language">
        <nve-option value="valg1">Norsk</nve-option>
        <nve-option value="valg2">Engelsk</nve-option>
      </nve-select>
    </div>
  </nve-carousel-item>
  <nve-carousel-item>
    <div style="color: green">
      <h1>Du greide det!</h1>
      <p>Nå kan du:</p>
      <ul>
        <li>Finne deg noe godt å spise/drikke</li>
        <li>Lene deg tilbake</li>
        <li>Ta helg</li>
      </ul>
    </div>
  </nve-carousel-item>
</nve-carousel>

Vertikal scrolling

Bildekarusellen støtter ikke vertikal scrolling per nå.

Spor

NavnBeskrivelse
(standard)The carousel's main content, one or more `<sl-carousel-item>` elements.
next-iconOptional next icon to use instead of the default. Works best with `<sl-icon>`.
previous-iconOptional previous icon to use instead of the default. Works best with `<sl-icon>`.

Hendelser

NavnArvet fraBeskrivelse
sl-slide-changeSlCarouselEmitted when the active slide changes.

Egenskaper

NavnTypeArvet fraBeskrivelseReflected
testIdstring | undefined = undefined
paginationCounterboolean = falseDersom denne er satt vises en teller av typen "1 / 4" på karusellen.
loopboolean = falseSlCarouselWhen set, allows the user to navigate the carousel in the same direction indefinitely.
navigationboolean = falseSlCarouselWhen set, show the carousel's navigation.
paginationboolean = falseSlCarouselWhen set, show the carousel's pagination indicators.
autoplayboolean = falseSlCarouselWhen set, the slides will scroll automatically when the user is not interacting with them.
autoplayIntervalnumber = 3000SlCarouselSpecifies the amount of time, in milliseconds, between each automatic scroll.
slidesPerPagenumber = 1SlCarouselSpecifies how many slides should be shown at a given time.
slidesPerMovenumber = 1SlCarouselSpecifies the number of slides the carousel will advance when scrolling, useful when specifying a `slides-per-page` greater than one. It can't be higher than `slides-per-page`.
orientation'horizontal' | 'vertical' = 'horizontal'SlCarouselSpecifies the orientation in which the carousel will lay out.
mouseDraggingboolean = falseSlCarouselWhen set, it is possible to scroll through the slides by dragging them with the mouse.
scrollContainerHTMLElement SlCarousel
paginationContainerHTMLElement SlCarousel
activeSlidenumber = 0SlCarousel
scrollingboolean = falseSlCarousel
draggingboolean = falseSlCarousel

Metoder

NavnParametreReturtypeArvet fraBeskrivelse
handeSlideChange
event: CustomEvent
initializeSlidesSlCarousel
handleSlideChangeSlCarousel
updateSlidesSnapSlCarousel
handleAutoplayChangeSlCarousel
previous
behavior: ScrollBehavior
SlCarouselMove the carousel backward by `slides-per-move` slides.
next
behavior: ScrollBehavior
SlCarouselMove the carousel forward by `slides-per-move` slides.
goToSlide
index: number
behavior: ScrollBehavior
SlCarouselScrolls the carousel to the slide specified by `index`.

Deler

NavnBeskrivelse
baseThe carousel's internal wrapper.
scroll-containerThe scroll container that wraps the slides.
paginationThe pagination indicators wrapper.
pagination-itemThe pagination indicator.
pagination-item--activeApplied when the item is active.
navigationThe navigation wrapper.
navigation-buttonThe navigation button.
navigation-button--previousApplied to the previous button.
navigation-button--nextApplied to the next button.

Spesifikke CSS-variabler for komponent

NavnBeskrivelse
--pagination-counter-colorFargen på sidetellerteksten.
--pagination-counter-bg-colorBakgrunnsfargen til pagineringstelleren.
--slide-gapThe space between each slide.
--aspect-ratioThe aspect ratio of each slide.
--scroll-hintThe amount of padding to apply to the scroll area, allowing adjacent slides to become partially visible as a scroll hint.