En este artículo aprenderás a crear un slideshow o carrusel. El plugin Carrusel o slideshow es un componente Bootstrap que muestra de forma cíclica una serie de elementos, generalmente imágenes, a veces con títulos explicativos, de forma similar a una presentación de diapositivas.

Cómo crear un slideshow o carrusel
Crear un slideshow o carrusel es sencillo, en el siguiente ejemplo, se muestra cómo crear uno.
Ejemplo
<!DOCTYPE html> <html lang="es"> <head> <title>Ejemplo Bootstrap</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <h2>Ejemplo de carrusel (slideshow)</h2> <div id="myCarousel" class="carousel slide" data-ride="carousel"> <!-- Indicadores --> <ol class="carousel-indicators"> <li data-target="#myCarousel" data-slide-to="0" class="active"></li> <li data-target="#myCarousel" data-slide-to="1"></li> <li data-target="#myCarousel" data-slide-to="2"></li> </ol> <!-- Entorno para las diapositivas --> <div class="carousel-inner"> <div class="item active"> <img src="01.jpg" alt="Paisaje-01" style="width:100%;"> </div> <div class="item"> <img src="02.jpg" alt="Paisaje-02" style="width:100%;"> </div> <div class="item"> <img src="03.jpg" alt="Paisaje-03" style="width:100%;"> </div> </div> <!-- Controles izquierda - derecha --> <a class="left carousel-control" href="#myCarousel" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left"></span> <span class="sr-only">Anterior</span> </a> <a class="right carousel-control" href="#myCarousel" data-slide="next"> <span class="glyphicon glyphicon-chevron-right"></span> <span class="sr-only">Siguiente</span> </a> </div> </div> </body> </html>
Explicación
El <div> de primer nivel:
El carrusel requiere la utilización de un id (en el ejemplo id=”myCarousel”) para que los controles del carrusel funcionen correctamente.
La clase class=”carousel” indica que el <div> contiene un carrusel.
La clase .slide añade una transición CSS en forma de animación, lo que hace que las diapositivas se “deslicen” cuando se pasa de una a otra. Si no deseas este efecto omite esta clase.
El atributo data-ride=”carousel” dice a Bootstrap que empiece a animar el carrusel justo cuando se carga la página.
La parte de los indicadores:
Los indicadores, son los pequeños puntos en la parte inferior de cada diapositiva (indican cuántas diapositivas forman el carrusel y cuál es la que estás visualizando en ese momento).
Los indicadores se especifican en una lista ordenada con la clase .carousel-indicators.
El atributo data-target apunta al id del carrusel.
El atributo data-slide-to indica a que diapositiva ir cuando se hace clic en un indicador.
El entorno del carrusel
Las diapositivas se enmarcan en un <div> con la clase .carousel-inner.
El contenido de cada diapositiva se define en un <div> con la clase .item. Ese contenido puede ser una imagen o un texto.
La clase .active tiene que añadirse a una y sólo una de las diapositivas. Si no se hace el carrusel no será visible.
Los controles izquierda-derecha
Esta parte del código añade los botones “izquierda” y “derecha” que permiten al usuario ir de una diapositiva a otra de forma manual.
El atributo data-slide acepta los comandos “prev” o “next” para que el usuario pueda moverse a la diapositiva anterior o a la siguiente.
Agregar subtítulos a las diapositivas
Si añades <div class=”carousel-caption”> en el interior de cada <div class=”item”> puedes añadir subtítulos a cada diapositiva.
Ejemplo
<!DOCTYPE html> <html lang="es"> <head> <title>Ejemplo Bootstrap</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <h2>Ejemplo Carrusel</h2> <div id="myCarousel" class="carousel slide" data-ride="carousel"> <!-- Indicadores --> <ol class="carousel-indicators"> <li data-target="#myCarousel" data-slide-to="0" class="active"></li> <li data-target="#myCarousel" data-slide-to="1"></li> <li data-target="#myCarousel" data-slide-to="2"></li> </ol> <!-- Entorno del carrusel --> <div class="carousel-inner"> <div class="item active"> <img src="01.jpg" alt="Paisaje-01" style="width:100%;"> <div class="carousel-caption"> <h3>paisaje 1</h3> <p>Green Park Season</p> </div> </div> <div class="item"> <img src="02.jpg" alt="Paisaje-02" style="width:100%;"> <div class="carousel-caption"> <h3>Paisaje 2</h3> <p>Road forest season</p> </div> </div> <div class="item"> <img src="03.jpg" alt="Paisaje-03" style="width:100%;"> <div class="carousel-caption"> <h3>Paisaje 03</h3> <p>Forest Mist nature</p> </div> </div> </div> <!-- Controles izquierda-derecha --> <a class="left carousel-control" href="#myCarousel" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left"></span> <span class="sr-only">Anterior</span> </a> <a class="right carousel-control" href="#myCarousel" data-slide="next"> <span class="glyphicon glyphicon-chevron-right"></span> <span class="sr-only">Siguiente</span> </a> </div> </div> </body> </html>