@destroer18
Начинаю изучать HTML, CSS, JS.

Как сделать что бы в слайдере bootstrap корректно переключались картинки с разной высотой?

При добавлении картинок с разной высотой и дальнейшем переключении между ними начинается сдвиг и заметно изменения размера слайдера но только по высоте. нужно подбирать высоту у всех картинок или же как то с помощью кода можно исправить. Вот часть этой секции:
<section class="gellery">
        <h2 class="mb-5 font-weight-bold text-center">Gellery</h2>
        <div class="col-md-6 mb-4">
          <div id="carousel-example-1z" class="carousel slide carousel-fade data-ride="carousel>
            <ol class="carousel-indicators">
              <li data-target="#carousel-example-1z" data-slide-to="0" class="active"></li>
              <li data-target="#carousel-example-1z" data-slide-to="1" class=""></li>
              <li data-target="#carousel-example-1z" data-slide-to="2" class=""></li>
            </ol>

            <div class="carousel-inner z-depth-1-half" role="listbox">
              <div class="carousel-item active">
                <img class="d-block w-100 " src="/img/slide1.jpg" alt="First slide">
              </div>
              <div class="carousel-item">
                <img class="d-block w-100 " src="/img/slide2.jpg" alt="First slide">
              </div>
              <div class="carousel-item">
                <img class="d-block w-100 " src="/img/slide3.jpg" alt="First slide">
              </div>
            </div>

            <a href="#carousel-example-1z" class="carousel-control-prev" role="button" data-slide="prev">
              <span class="carousel-control-prev-icon" aria-hidden="true"></span>
            </a>
            <a href="#carousel-example-1z" class="carousel-control-next" role="button" data-slide="next">
              <span class="carousel-control-next-icon" aria-hidden="true"></span>
            </a>
          </div>
        </div>
      </section>
  • Вопрос задан
  • 725 просмотров
Решения вопроса 1
@destroer18 Автор вопроса
Начинаю изучать HTML, CSS, JS.
Сделал только вот так:
.carousel-item {
    height: 350px;
    overflow: hidden;
}

и теперь все норм
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
o058oo
@o058oo
Кофе, код и рок-н-ролл!
Вариант с фоном, конечно самый простой. Но в этом случае, картинки на слайдере будут "размытыми".
Предлагаю так:
.carousel-item {
	height: 300px; /* Высота слайда */
	position: relative;
	overflow: hidden;
}

/*Можно добавить свой класс к изображению и заменить "img.d-block" ниже */

.carousel-item > img.d-block{
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	position: absolute;
}
Ответ написан
@StonedCatt
Frontend developer
Можно картинки вставлять не как img, а как свойство background: url(path to img).
Сами блоки сделать фикс.высотой типо height 300px, дальше свойства для отмены повтора фона и центрирование картинки.

Это как вариант.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы