Уроки по фреймворку Bootstrap 4

Автор учебного курса: Саакян Артак Арамович, студент гр. ИТк-401 ФГАОУ ВО «РГППУ.

Скачать Notepad++ Portable
Скачать материалы к учебному курсу - папка kurs_bootstrap.zip (1 Мб)




Урок 5. Карусель

Предварительно изучите теорию 3. Модальное окно и карусель

Карусель

Карусель в Bootstrap позволяет добавлять прокручивающиеся изображения и текст, которые появляются, останавливаются, а затем уходят. Элементы управления позволяют пользователю прокручивать вперёд или назад в пределах набора. В целом, это бегущая строка с элементами управления. Чтобы создать модальное окно, используем класс .modal совместно с другими классами .modal-*, которые определяют каждый раздел модального окна.

Чтобы создать карусель:

  • применим .carousel и .slide к внешнему контейнеру (со своим собственным идентификатором);
  • прокручиваемое содержимое поместим в .carousel-inner и присвоим каждому элементу класс .carousel-item;
  • кроме того, мы должны применить класс .active к одному из слайдов в карусели, иначе карусель не будет видна. Данный класс позволяет установить один слайд в качестве начального.

Только слайды

Вот пример карусели, где есть только слайды. Заметьте присутствие классов .d-block и .w-100, отменяющих дефолтное выравнивание изображений в браузерах у изображений карусели.

1. Напишите <div> блок с классами .container и .slider.

2. Внутри этого блока запишите заголовок <h2> с классом .text-center и элемент <div> с классами .carousel, .slide и атрибутом data-ride="carousel". Внутри заголовка <h2> запишите «Слайдер».

3. Внутри блока .carousel напишите элемент с классом .carousel-inner

4. В этом блоке напишите 3 элемента <div> с классом .carousel-item, для первого элемента добавьте класс .active.

5. Внутри этих трех элементов добавьте тег <img> с классами .d-block, .w-100. Добавьте три любые изображения и укажите пути, также укажите название атрибута alt.

Окончательный код должен выглядеть так (рисунок 1):

<div class="container slider">
  <h2 class="text-center">Слайдер</h2>
  <div class="carousel slide" data-ride="carousel">
    <div class="carousel-inner">
      <div class="carousel-item active">
        <img src="img/1.jpg" class="d-block w-100" alt="Москва">
      </div>
      <div class="carousel-item">
        <img src="img/2.jpg" class="d-block w-100" alt="Санкт-Петербург">
      </div>
      <div class="carousel-item">
        <img src="img/3.jpg" class="d-block w-100" alt="Долина реки">
      </div>
    </div>
  </div>
</div>

6. Запишете CSS код к классу .slider, где укажем высоту в 720 пикселей, ширину 720 пикселей и отступ сверху в 50 пикселей.

.slider {
  margin-top: 50px;
  width: 720px;
  height: 400px;
}
Рисунок 1 — Результат

С элементами управления

7. Чтобы добавить элементы управления «Предыдущий/Следующий», нужно привязать кнопки к слайдеру. Добавьте идентификатор id="carouselControls" к элементу <div> с классом .carousel.

8. После класса .carousel-inner добавьте 2 тега <a>, для первого тега класс .carousel-control-prev и два атрибута href="#carouselControls", data-slide="prev". Для второго тега добавьте класс .carousel-control-next и два атрибута href="#carouselControls", data-slide="next". Атрибут должен совпадать с идентификатором, которое мы писали выше, иначе кнопки не будут работать.

9. Внутри тегов <a> добавьте элемент <span> с классом .carousel-control-prev-icon.

Окончательный код должен выглядеть так (рисунок 2):

<a class="carousel-control-prev" href="#carouselControls" data-slide="prev">
  <span class="carousel-control-prev-icon"></span>
</a>
<a class="carousel-control-next" href="#carouselControls" data-slide="next">
  <span class="carousel-control-next-icon"></span>
</a>
Рисунок 2 — Результат

Добавление индикаторов

10. Чтобы добавить элемент управления «индикатор» (маленькие кликабельные области внизу по центру), вставим список с .carousel-indicators, а также соответствующие атрибуты data-target и data-slide-to.

11. Чтобы добавить элемент управления «индикатор» (маленькие кликабельные области внизу по центру), напиште перед закрывающим div с классом .carousel элемент <ol> с классом .carousel-indicators и внутри этого добавьте 3 тега <li> с атрибутом data-target="#carouselControls". Для первого тега <li> добавьте класс .actvie и атрибут data-slide-to="0", для второго тега атрибут data-slide-to="1" и для третьего атрибут data-slide-to="2" (рисунок 3).

<ol class="carousel-indicators">
  <li data-target="#carouselControls" data-slide-to="0" class="active"></li>
  <li data-target="#carouselControls" data-slide-to="1"></li>
  <li data-target="#carouselControls" data-slide-to="2"></li>
</ol>
Рисунок 3 — Результат

Подписи

Также можем включить подписи к своему слайд-шоу, добавив <div> с классом .carousel-caption. Он входит в каждый .carousel-item

12. Чтобы добавить подписи к изображениям, нужно будет после элемента <img> добавить тег <div> с классом .carousel-caption, .d-none, .d-md-block и внутри добавить заголовок и абзац.

Подписи будут видны, если ширина экрана будет ? 768 пикселей, если значение будет меньше, то подписи будут не видны (рисунок 4).

  <div class="carousel-item active">
    <img src="img/1.jpg" class="d-block w-100" alt="Москва">
    <div class="carousel-caption d-none d-md-block">
      <h3>Метка первого слайда</h3>
      <p>Некоторый репрезентативный заполнитель для первого слайда.</p>
    </div>
  </div>
  <div class="carousel-item">
    <img src="img/2.jpg" class="d-block w-100" alt="Санкт-Петербург">
    <div class="carousel-caption d-none d-md-block">
      <h3>Метка второго слайда</h3>
      <p>Некоторый репрезентативный заполнитель для второго слайда.</p>
    </div>
  </div>
  <div class="carousel-item">
    <img src="img/3.jpg" class="d-block w-100" alt="Долина реки">
    <div class="carousel-caption d-none d-md-block">
      <h3>Метка третьего слайда</h3>
      <p>Некоторый репрезентативный заполнитель для третьего слайда.</p>
    </div>
  </div>
Рисунок 4 — Результат

Контрольное задание

  1. Самостоятельно напишите карусель из 10 слайдов, с кнопками назад и вперед
  2. Добавьте к карусели индикаторы и надписи