Search code examples
javascriptcsstwitter-bootstrapcarouselbootstrap-5

Bootstrap 5 carousel with multiple items


I'm new to Bootstrap and I'm doing an ecommerce template for learning Bootstrap 5.

Is there a way to make the Bootstrap 5 carousel to show multiple slides at the same time like a products slider with left and right arrow?

If yes how can I do that?


Solution

  • It looks like you want a Bootstrap carousel.

    <section class="pt-5 pb-5">
      <div class="container">
        <div class="row">
          <div class="col-6">
            <h3 class="mb-3">Carousel cards title </h3>
          </div>
          <div class="col-6 text-right">
            <a class="btn btn-primary mb-3 mr-1" href="#carouselExampleIndicators2" role="button" data-slide="prev">
              <i class="fa fa-arrow-left"></i>
            </a>
            <a class="btn btn-primary mb-3 " href="#carouselExampleIndicators2" role="button" data-slide="next">
              <i class="fa fa-arrow-right"></i>
            </a>
          </div>
          <div class="col-12">
            <div id="carouselExampleIndicators2" class="carousel slide" data-ride="carousel">
    
              <div class="carousel-inner">
                <div class="carousel-item active">
                  <div class="row">
    
                    <div class="col-md-4 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532781914607-2031eca2f00d?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=7c625ea379640da3ef2e24f20df7ce8d">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
    
                      </div>
                    </div>
                    <div class="col-md-4 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1517760444937-f6397edcbbcd?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=42b2d9ae6feb9c4ff98b9133addfb698">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
                    <div class="col-md-4 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532712938310-34cb3982ef74?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=3d2e8a2039c06dd26db977fe6ac6186a">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
    
                  </div>
                </div>
                <div class="carousel-item">
                  <div class="row">
    
                    <div class="col-md-4 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532771098148-525cefe10c23?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=3f317c1f7a16116dec454fbc267dd8e4">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
    
                      </div>
                    </div>
                    <div class="col-md-4 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532715088550-62f09305f765?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=ebadb044b374504ef8e81bdec4d0e840">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
                    <div class="col-md-4 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1506197603052-3cc9c3a201bd?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=0754ab085804ae8a3b562548e6b4aa2e">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
    
                  </div>
                </div>
                <div class="carousel-item">
                  <div class="row">
    
                    <div class="col-md-4 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1507525428034-b723cf961d3e?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=ee8417f0ea2a50d53a12665820b54e23">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
    
                      </div>
                    </div>
                    <div class="col-md-4 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532777946373-b6783242f211?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=8ac55cf3a68785643998730839663129">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
                    <div class="col-md-4 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532763303805-529d595877c5?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=5ee4fd5d19b40f93eadb21871757eda6">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </section>
    
       <link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
    <script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>     
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
    <script type="text/javascript" src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>

    UPDATE:

    An example with four columns. It is necessary just edit classes of div and edit class from col-md-4 to col-md-3. Class row can have 12 columns:

    <section class="pt-5 pb-5">
      <div class="container">
        <div class="row">
          <div class="col-6">
            <h3 class="mb-3">Carousel cards title </h3>
          </div>
          <div class="col-6 text-right">
            <a class="btn btn-primary mb-3 mr-1" href="#carouselExampleIndicators2" role="button" data-slide="prev">
              <i class="fa fa-arrow-left"></i>
            </a>
            <a class="btn btn-primary mb-3 " href="#carouselExampleIndicators2" role="button" data-slide="next">
              <i class="fa fa-arrow-right"></i>
            </a>
          </div>
          <div class="col-12">
            <div id="carouselExampleIndicators2" class="carousel slide" data-ride="carousel">
    
              <div class="carousel-inner">
                <div class="carousel-item active">
                  <div class="row">
    
                    <div class="col-md-3 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532781914607-2031eca2f00d?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=7c625ea379640da3ef2e24f20df7ce8d">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
                        </div>
                      </div>
                    </div>
                    <div class="col-md-3 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1517760444937-f6397edcbbcd?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=42b2d9ae6feb9c4ff98b9133addfb698">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
                    <div class="col-md-3 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532712938310-34cb3982ef74?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=3d2e8a2039c06dd26db977fe6ac6186a">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
                    <div class="col-md-3 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532712938310-34cb3982ef74?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=3d2e8a2039c06dd26db977fe6ac6186a">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
                    
                  </div>
                </div>
                
                
                <div class="carousel-item">
                  <div class="row">
    
                                    <div class="col-md-3 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532781914607-2031eca2f00d?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=7c625ea379640da3ef2e24f20df7ce8d">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
                        </div>
                      </div>
                    </div>
                    <div class="col-md-3 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1517760444937-f6397edcbbcd?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=42b2d9ae6feb9c4ff98b9133addfb698">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
                    <div class="col-md-3 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532712938310-34cb3982ef74?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=3d2e8a2039c06dd26db977fe6ac6186a">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
                    <div class="col-md-3 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532712938310-34cb3982ef74?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=3d2e8a2039c06dd26db977fe6ac6186a">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
    
                  </div>
                </div>
                
                
                <div class="carousel-item">
                  <div class="row">
                               <div class="col-md-3 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532781914607-2031eca2f00d?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=7c625ea379640da3ef2e24f20df7ce8d">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
                        </div>
                      </div>
                    </div>
                    <div class="col-md-3 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1517760444937-f6397edcbbcd?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=42b2d9ae6feb9c4ff98b9133addfb698">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
                    <div class="col-md-3 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532712938310-34cb3982ef74?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=3d2e8a2039c06dd26db977fe6ac6186a">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
                    <div class="col-md-3 mb-3">
                      <div class="card">
                        <img class="img-fluid" alt="100%x280" src="https://images.unsplash.com/photo-1532712938310-34cb3982ef74?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjMyMDc0fQ&amp;s=3d2e8a2039c06dd26db977fe6ac6186a">
                        <div class="card-body">
                          <h4 class="card-title">Special title treatment</h4>
                          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
    
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
                
                
              </div>
            </div>
          </div>
        </div>
      </div>
    </section>
    
       <link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
    <script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>     
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
    <script type="text/javascript" src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>