элементы управления bootstrap 4 carousel не работают

#html #bootstrap-4 #carousel

#HTML #bootstrap-4 #карусель

Вопрос:

Я учусь, и тахер задал нам страницу статистики с каруселью. Итак, я хочу использовать boostrap. Карусель вроде работает, но я не могу понять, как сделать ее центрированной, и, что более важно, элементы управления не работают.

Вот соответствующий код :

 <!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <!-- CSS amp; BOOTSTRAP -->
  <link rel="stylesheet" href="./css/bootstrap-4.5.2-dist/css/bootstrap.min.css">
  <link rel="stylesheet" href="./css/main.css">

  <title>Site Statique</title>

</head>
<body>
  <div class="container">
<!-- ======================================================================== -->
      <!-- CAROUSEL PLACEHOLDER -->
      <!-- ======================================================================== -->

     
      <div class="row">
        <div class="col-md-12">
          <div class="mx-auto">
            <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
              <ol class="carousel-indicators">
                <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
                <li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
                <li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
              </ol>

              <div class="carousel-inner">
                <div class="carousel-item active">
                  <img class="img-carousel d-block w-100"
                      src="./img/many_dices_1.png"
                      alt="First slide">
                </div>

                <div class="carousel-item">
                  <img class="img-carousel d-block w-100"
                      src="./img/dice_sheet.jpg"
                      alt="Second slide">
                </div>

                <div class="carousel-item">
                  <img class="img-carousel d-block w-100"
                      src="./img/D_20.webp"
                      alt="Third slide">
                </div>

              </div>
              <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
                <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                <span class="sr-only">Previous</span>
              </a>

              <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
                <span class="carousel-control-next-icon" aria-hidden="true"></span>
                <span class="sr-only">Next</span>
              </a>

            </div>

          </div>
        </div>
      </div>
    <!-- ======================================================================== -->
    <!-- EO CAROUSSEL -->
    <!-- ======================================================================== -->

  <!-- Scripts tags -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
  <script src="./css/bootstrap-4.5.2-dist/js/bootstrap.min.js"></script>
</body>
</html>

  

Итак, карусель работает, и изображения скользят, но маленькие изображения не центрируются, и элементы управления не работают. Есть идеи, почему?
заранее спасибо

Обновление: теперь элементы управления работают, но я не могу понять, как сделать так, чтобы изображение сохраняло соотношение. Вот мое правило css

 .img-carousel{
    width: auto;
    height: 100%;
    max-height: 500px;
}
  

Ответ №1:

Я исправил вашу разметку. Вы немного перепутали вещи:

  • в вашем примере <image> есть два class="" неправильных, просто продолжайте класс с пробелом
  • Кнопки next и prev не имеют href="#" so, как это может работать?

Рабочий пример:

 <!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <!-- CSS amp; BOOTSTRAP -->
   <!-- CSS only -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP VmmDGMN5t9UJ0Z" crossorigin="anonymous">
  <link rel="stylesheet" href="./css/main.css">

  <title>Site Statique</title>

</head>
<body>
  <div class="container">
<!-- ======================================================================== -->
      <!-- CAROUSEL PLACEHOLDER -->
      <!-- ======================================================================== -->

      <div class="row">
        <div class="col-md-12">
          <div class="mx-auto">
            <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
              <ol class="carousel-indicators">
                <li data-target="" data-slide-to="0" class="active"></li>
                <li data-target="" data-slide-to="1"></li>
                <li data-target="" data-slide-to="2"></li>
              </ol>

              <div class="carousel-inner">
                <div class="carousel-item active">
                  <img class="img-carousel d-block w-100"
                      src="https://via.placeholder.com/150"
                      alt="First slide">
                </div>

                <div class="carousel-item">
                  <img class="img-carousel d-block w-100"
                      src="https://via.placeholder.com/150"
                      alt="Second slide">
                </div>

                <div class="carousel-item">
                  <img class="img-carousel d-block w-100"
                      src="https://via.placeholder.com/150"
                      alt="Third slide">
                </div>

              </div>
              <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
                <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                <span class="sr-only">Previous</span>
              </a>

              <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
                <span class="carousel-control-next-icon" aria-hidden="true"></span>
                <span class="sr-only">Next</span>
              </a>

            </div>

          </div>
        </div>
      </div>

    <!-- ======================================================================== -->
    <!-- EO CAROUSSEL -->
    <!-- ======================================================================== -->

  <!-- Scripts tags -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<!-- JS, Popper.js, and jQuery -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C OGpamoFVy38MVBnE IbbVYUew OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU 6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV rV" crossorigin="anonymous"></script>
</body>
</html>