Carrusel
Un compoñente de presentación de diapositivas para percorrer elementos (imaxes ou diapositivas de texto) como un carrusel.
Cómo funciona
O carrusel é unha presentación de diapositivas para percorrer unha serie de contidos, construído con transformacións CSS 3D e un pouco de JavaScript. Funciona cunha serie de imaxes, texto ou marcas personalizadas. Tamén inclúe soporte para controis e indicadores anteriores/seguintes.
Nos navegadores nos que se admite a API de visibilidade da páxina , o carrusel evitará deslizarse cando a páxina web non sexa visible para o usuario (por exemplo, cando a pestana do navegador está inactiva, a xanela do navegador está minimizada, etc.).
O efecto de animación deste compoñente depende da prefers-reduced-motion
consulta multimedia. Consulta a sección de movemento reducido da nosa documentación de accesibilidade .
Teña en conta que os carrusels anidados non son compatibles e que, en xeral, os carruseles non cumpren os estándares de accesibilidade.
Por último, se estás a construír o noso JavaScript desde a fonte, requireutil.js
.
Exemplo
Os carrusels non normalizan automaticamente as dimensións das diapositivas. Polo tanto, é posible que necesites usar utilidades adicionais ou estilos personalizados para dimensionar adecuadamente o contido. Aínda que os carrusels admiten controis e indicadores anteriores ou seguintes, non son necesarios de forma explícita. Engade e personaliza como creas oportuno.
A .active
clase debe engadirse a unha das diapositivas , se non, o carrusel non estará visible. Ademais, asegúrate de establecer un ID único .carousel
para os controis opcionais, especialmente se estás a usar varios carruseles nunha mesma páxina. Os elementos de control e indicador deben ter un data-target
atributo (ou href
para as ligazóns) que coincida co id do .carousel
elemento.
Só diapositivas
Aquí tes un carrusel só con diapositivas. Teña en conta a presenza de .d-block
e .w-100
nas imaxes do carrusel para evitar o aliñamento de imaxes predeterminado do navegador.
Con controis
Engadindo os controis anteriores e seguintes:
Con indicadores
Tamén podes engadir os indicadores ao carrusel, xunto cos controis.
Con subtítulos
Engade subtítulos ás túas diapositivas facilmente co .carousel-caption
elemento de calquera .carousel-item
. Pódense ocultar facilmente en xanelas máis pequenas, como se mostra a continuación, con utilidades de visualización opcionais . Ocultámolos inicialmente con .d-none
e traémolos de volta en dispositivos de tamaño medio con .d-md-block
.
Fundido cruzado
Engade .carousel-fade
ao teu carrusel para animar as diapositivas cunha transición de fundido en lugar dunha diapositiva.
.carousel-item
Intervalo individual
Engadir data-interval=""
a a .carousel-item
para cambiar a cantidade de tempo que transcorre entre o paso automático ao seguinte elemento.
Uso
A través de atributos de datos
Usa atributos de datos para controlar facilmente a posición do carrusel. data-slide
acepta as palabras clave prev
ou next
, que altera a posición da diapositiva en relación coa súa posición actual. Alternativamente, úsao data-slide-to
para pasar un índice de diapositivas en bruto ao carrusel data-slide-to="2"
, que cambia a posición da diapositiva a un índice concreto que comeza por 0
.
O data-ride="carousel"
atributo úsase para marcar un carrusel como animación a partir da carga da páxina. Se non o utilizas data-ride="carousel"
para inicializar o teu carrusel, tes que inicializalo ti mesmo. Non se pode usar en combinación coa inicialización explícita de JavaScript (redundante e innecesaria) do mesmo carrusel.
Vía JavaScript
Chamar ao carrusel manualmente con:
Opcións
As opcións pódense pasar a través de atributos de datos ou JavaScript. Para os atributos de datos, engada o nome da opción a data-
, como en data-interval=""
.
Nome | Tipo | Por defecto | Descrición |
---|---|---|---|
intervalo | número | 5000 | A cantidade de tempo que transcorre entre o ciclo automático dun elemento. Se é falso, o carrusel non se moverá automaticamente. |
teclado | booleano | verdade | Indica se o carrusel debe reaccionar aos eventos do teclado. |
pausa | cadea | booleano | "pasar" | Se se establece en Nos dispositivos táctiles, cando se configura como |
paseo | corda | falso | Reproduce automaticamente o carrusel despois de que o usuario faga un ciclo manualmente o primeiro elemento. Se "carrusel", reproduce automaticamente o carrusel ao cargar. |
envolver | booleano | verdade | Se o carrusel debe circular de forma continua ou ter paradas duras. |
tocar | booleano | verdade | Indica se o carrusel debería admitir interaccións de desprazamento cara á esquerda/dereita nos dispositivos con pantalla táctil. |
Métodos
Métodos asíncronos e transicións
Todos os métodos da API son asíncronos e inician unha transición . Volven ao interlocutor en canto se inicia a transición pero antes de que remate . Ademais, ignorarase unha chamada de método nun compoñente en transición .
Consulte a nosa documentación de JavaScript para obter máis información .
.carousel(options)
Inicia o carrusel cunhas opcións opcionais object
e comeza a percorrer os elementos.
.carousel('cycle')
Percorre os elementos do carrusel de esquerda a dereita.
.carousel('pause')
Impide que o carrusel circule por elementos.
.carousel(number)
Cicla o carrusel a un cadro particular (baseado en 0, semellante a unha matriz). Volve ao interlocutor antes de que se mostrase o elemento de destino (é dicir, antes de slid.bs.carousel
que se produza o evento).
.carousel('prev')
Ciclos ao elemento anterior. Volve á persoa que chama antes de que se mostrase o elemento anterior (é dicir, antes de slid.bs.carousel
que se produza o evento).
.carousel('next')
Ciclos ao seguinte elemento. Volve á persoa que chama antes de que se amose o seguinte elemento (é dicir, antes de slid.bs.carousel
que se produza o evento).
.carousel('dispose')
Destrúe o carrusel dun elemento.
Eventos
A clase de carrusel de Bootstrap expón dous eventos para conectarse á funcionalidade do carrusel. Ambos eventos teñen as seguintes propiedades adicionais:
direction
: A dirección na que se despraza o carrusel ("left"
ou ben"right"
).relatedTarget
: o elemento DOM que se está a colocar como elemento activo.from
: O índice do elemento actualto
: O índice do seguinte elemento
Todos os eventos do carrusel desenvólvense no propio carrusel (é dicir, no <div class="carousel">
).
Tipo de evento | Descrición |
---|---|
slide.bs.carrusel | Este evento desenvólvese inmediatamente cando slide se invoca o método de instancia. |
deslizar.bs.carrusel | Este evento desenvólvese cando o carrusel completou a súa transición de diapositivas. |
Cambiar a duración da transición
A duración da transición de .carousel-item
pódese cambiar coa $carousel-transition
variable Sass antes de compilar ou estilos personalizados se estás a usar o CSS compilado. Se se aplican varias transicións, asegúrate de que a transición de transformación estea definida primeiro (por exemplo, transition: transform 2s ease, opacity .5s ease-out
).