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>