Bootstrap: карусель
учимся создавать bootstrap carousel

Сarousel - стандартный JavaScript компонент в составе фронтенд фреймоворка Bootstrap, являющийся удобным инструментом демонстрации баннеров в составе слайдера.
При необходимости изображение в составе баннера может сопровождаться заголовком и описанием.
Содержание
Цели урока
В данном руководстве мы изучим:
- как добавить компонент carousel на страницу,
- научимся использовать дополнительные параметры (options) конфигурирования карусели,
- научимся управлять поведением (behaviour) карусели.
Основы

Так выглядит исходный HTML-код:
Bootstrap. Basic carousel
Обратите внимание на следующие моменты:
- C помощью CDN мы подключаем файл стилей Bootstrap и минифицированную JavaScript библиотеку Bootstrap,
- JavaScript Bootstrap зависит от jQuery и PopperJS, поэтому не забываем подключить и эти библиотеки, в данном случае тоже с помощью CDN
- Карусель помещаем в блок
.container
. Так как мы хотим, чтобы выводимые изображения занимали всю ширину бутстраповского контейнера, классы.row
или.col-*
использовать нельзя.
Сама карусель, основным элементом которой является div.carousel
, состоит из трех частей:
-
ol.carousel-indicators
: пагинация (навигация) обычно расположенная в нижней части карусели, -
div.carousel-inner
: обертка для контента карусели (тело карусели), -
a.carousel-control-prev
иa.carousel-control-next
: навигация для соседних элементов карусели (или “стрелки”).
Элементы карусели
Чтобы создать карусель с помощью Bootstrap достаточно добавить элементу div
класс .carousel
и присвоить уникальный id, в данном случае id="carousel-basic"
.
Дополнительные параметры карусели можно определять с помощью data-атрибутов.
data-ride="carousel"
включает автопроигрывание.
Итак, основной блок (обертка) карусели имеет такой вид:
Индикаторы (carousel-indicators)
Индикаторы - необязательные (опциональные) элементы карусели, заключенные в блок
. Каждый элемент списка li
в данном блоке должен соответствовать определенному слайду (обычно - изображению) из .carousel-inner
.
Для каждого индикатора li
существуют два обязательных data-атрибута:
-
data-target
- соответствует id карусели -
data-slide-to
- указатель на порядковый номер слайда, соответствующего определенному индикатору (отсчет начинается с цифры 0 сверху вниз, например: 0 - первый слайд, 1 - второй слайд).
При старте первый элемент li
должен иметь класс .active
:
Тело карусели
Как мы уже говорили ранее, основной контент карусели обернут в блок Родительским блоком каждого слайда является Чтобы создать описание (caption), нужно поместить элемент это демонстрация возможностей компонента carousel Для перехода к следующему или предыдущему слайду, достаточно добавить в карусель два элемента Аттрибут В предыдущем разделе мы научились создавать карусель с помощью штатных инструментов Bootstrap. Самое время изучить дополнительные параметры. Дополнительные параметры (опции) можно установить с помощью data-атрибутов карусели или через JavaScript. Пример определения data-атрибутов: А теперь то же самое с помощью JavaScript: Создание полноэкранного слайдера, с выравниванием сопутствующего текста по центру как по горизонтали, так и по вертикали - пожалуй самый востребованный вариант модификации карусели Bootstrap. Для решения поставленной задачи определим высоту элемента: 100 vh. Для минимальной высоты установим значение 600px, чтобы гарантировать адекватный вывод текста на устройствах с небольшими экранами. Для центрирования текста по вертикали нам пригодится Так же потребуется немного изменить HTML-код: вместо Для улучшения читабильности текста довольно часто появляется необходимость затемнить слайд. Сделать это довольно легко - достаточно создать дополнительный элемент Чтобы заменить эффект смены слайдов и заменить slide на fade достаточно добавить карусели класс По умолчанию процесс смены слайдов длится 0,6 секунды. Это может быть слишком быстро, особенно когда установлен эффект перехода “fade”, изменить этот показатель можно с помощью свойства Так выглядит карусель при использовании только базовых настроек, а так после внесения изменений
Спасибо за внимание..active
. Обычно слайд содержит изображение или изображение с описанием.
Карусель
Переход к соседним элементам (prev и next)
.
href
обеих ссылок должен содержать id карусели, а data-атрибут data-slide
должен содержать одно из двух значений: prev
- для перехода к предыдущему слайда или next
- для перехода к следующему слайду.
Назад
Вперед
Дополнительные параметры (options)
interval
pause
mouseenter
и продолжаться в ответ на событие mouseleave
; если установлено значение “null”, остановки смены слайдов не будетwrap
keyboard
$('#carousel-basic').carousel({
interval: 3000,
pause: null
})
Как изменить внешний вид и поведение?
Полноэкранная карусель (fullscreen carousel) с описанием центрированным по вертикали
CSS
transform: transition(0,-50%);
/* carousel fullscreen */
.carousel-fullscreen .carousel-inner .carousel-item {
height: 100vh;
min-height: 600px;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
}
/* carousel fullscreen - vertically centered caption */
.carousel-fullscreen .carousel-caption {
top: 50%;
bottom: auto;
-webkit-transform: translate(0, -50%);
-ms-transform: translate(0, -50%);
transform: translate(0, -50%);
}
HTML
установим изображение фоном для элемента .carousel-item
и уберем обертку .container
:
Затемнение
div.overlay
в блоке CSS
/* overlay for better readibility of the caption */
.overlay {
position: absolute;
width: 100%;
height: 100%;
background: #000;
opacity: 0.3;
transition: all 0.2s ease-out;
}
HTML
Эффекты смены слайдов
.carousel-fade
Время смены слайдов
transition-duration
.
.carousel .carousel-item {
transition-duration: 1.5s;
}