Как создать виджет Collapse в Bootstrap


Bootstrap — это один из самых популярных и мощных фреймворков для разработки веб-приложений и сайтов. Он предлагает огромное количество готовых компонентов, которые позволяют сэкономить время и упростить процесс разработки. Одним из таких компонентов является Collapse — виджет, который позволяет создавать скрытые блоки контента с возможностью разворачивания/сворачивания по клику.

Для того, чтобы создать виджет Collapse в Bootstrap, нужно использовать ряд специальных классов и атрибутов. Один из основных классов — collapse, который отвечает за скрытие/отображение блока контента. Для активации виджета необходимо добавить к кнопке или ссылке атрибут data-toggle=»collapse». Также стоит добавить атрибут data-target с указанием ID скрываемого блока контента.

Пример использования виджета Collapse выглядит следующим образом:


<button type="button" class="btn btn-primary" data-toggle="collapse" data-target="#content">
Показать/скрыть контент
</button>

<div id="content" class="collapse">
<p>Скрытый контент</p>
</div>

В этом примере кнопка с классом btn и btn-primary активирует виджет Collapse с указанным ID «content». Скрытый блок контента, имеющий класс collapse, отображается/скрывается при нажатии на кнопку.

Виджет Collapse также поддерживает различные опции и настройки. Например, можно использовать атрибут data-parent для указания родительского элемента, в пределах которого будет работать Collapse. Также можно добавить классы show и collapsing для определения состояний открытия/закрытия блока контента.

Создание виджета Collapse

Bootstrap предоставляет возможность создавать виджет Collapse, который позволяет скрывать и показывать контент по нажатию на определенный элемент. Для создания виджета Collapse необходимо использовать следующие компоненты:

  • Элемент, который будет служить кнопкой для скрытия и отображения контента (например, кнопка или ссылка с классом btn или text-link).
  • Элемент, который будет скрываться или отображаться (например, блок или див с классом collapse).

Пример создания виджета Collapse:

<button type="button" class="btn btn-primary" data-toggle="collapse" data-target="#myContent">Показать/скрыть контент</button><div id="myContent" class="collapse"><p>Текст контента, который будет скрываться и отображаться</p></div>

В приведенном примере кнопка с классом btn btn-primary используется для вызова виджета Collapse. Атрибуты data-toggle="collapse" и data-target="#myContent" указывают, что необходимо скрыть или отобразить контент с идентификатором myContent. Блок с классом collapse и идентификатором myContent будет скрываться и отображаться по нажатию на кнопку.

Таким образом, создание виджета Collapse в Bootstrap достаточно просто и позволяет эффективно управлять скрытием и отображением контента на веб-странице.

Шаг 1: Подключение Bootstrap

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"integrity="sha384-D8wEapDrJQAWXjpI5Zvbu0+ayNzwCvL+/aZD9kcsVN+D1y52SejW+zk5YxuuXvCv"crossorigin="anonymous">

Этот код загружает CSS-файл Bootstrap, который отвечает за стилизацию всех компонентов. Вы можете использовать ссылку на локальную копию Bootstrap, если вы уже скачали его.

Кроме того, для работы виджета Collapse требуется подключить JavaScript-файл Bootstrap. Для этого добавьте следующий код перед закрывающим тегом <body> или после него:

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"integrity="sha384-Jfdy8BdQtj+wNV8XnqaBjjbQikLcci4Esf+gAekfMeyDz6wnqK4K0ZiVqBc9Od/f"crossorigin="anonymous"></script>

Этот код подключает JavaScript-файл Bootstrap, который отвечает за работу интерактивных функций, включая виджет Collapse.

После этих шагов Bootstrap будет полностью подключен к вашему проекту и вы будете готовы создать виджет Collapse.

Шаг 2: Верстка HTML

Сначала создадим контейнер div с классом «container», внутри которого будет располагаться наш виджет:

<div class="container">...</div>

Затем создадим div с классом «accordion» для установки виджета Collapse:

<div class="container"><div class="accordion">...</div></div>

Внутри div с классом «accordion» создадим несколько блоков div с классом «card», которые будут являться панелями с контентом:

<div class="container"><div class="accordion"><div class="card">...</div><div class="card">...</div>...</div></div>

Определите заголовок для каждой панели, с помощью элемента div с классом «card-header» и атрибутом «id» для установки связей между заголовком и контентом панели:

<div class="container"><div class="accordion"><div class="card"><div class="card-header" id="heading1">...</div>...</div><div class="card"><div class="card-header" id="heading2">...</div>...</div>...</div></div>

Внутри каждого div с классом «card-header» разместите элементы, которые будут отображаться в заголовке панели, например, кнопку или ссылку с текстом:

<div class="container"><div class="accordion"><div class="card"><div class="card-header" id="heading1"><h3 class="mb-0"><button class="btn btn-link" data-toggle="collapse" data-target="#collapse1" aria-expanded="true" aria-controls="collapse1">Заголовок панели 1</button></h3></div>...</div><div class="card"><div class="card-header" id="heading2"><h3 class="mb-0"><button class="btn btn-link" data-toggle="collapse" data-target="#collapse2" aria-expanded="true" aria-controls="collapse2">Заголовок панели 2</button></h3></div>...</div>...</div></div>

Наконец, добавьте элементы div с классом «collapse», которые будут содержать основной контент каждой панели:

<div class="container"><div class="accordion"><div class="card"><div class="card-header" id="heading1"><h3 class="mb-0"><button class="btn btn-link" data-toggle="collapse" data-target="#collapse1" aria-expanded="true" aria-controls="collapse1">Заголовок панели 1</button></h3></div><div id="collapse1" class="collapse show" aria-labelledby="heading1" data-parent=".accordion"><div class="card-body">...</div></div></div><div class="card"><div class="card-header" id="heading2"><h3 class="mb-0"><button class="btn btn-link" data-toggle="collapse" data-target="#collapse2" aria-expanded="true" aria-controls="collapse2">Заголовок панели 2</button></h3></div><div id="collapse2" class="collapse show" aria-labelledby="heading2" data-parent=".accordion"><div class="card-body">...</div></div></div>...</div></div>

Таким образом, мы создали базовую структуру HTML для виджета Collapse в Bootstrap. Теперь осталось только добавить необходимый контент и настроить внешний вид виджета с помощью CSS.

Шаг 3: Использование класса Collapse

После определения элементов, которые будут разворачиваться и свертываться, необходимо добавить класс «collapse» к развертываемым блокам. Это позволит скрыть содержимое блока по умолчанию.

Для того чтобы добавить кнопку, которая будет открывать или скрывать содержимое блока, необходимо использовать атрибут «data-toggle» со значением «collapse» и атрибут «data-target» со значением ID блока, который нужно свернуть или развернуть.

Дополнительно можно использовать классы для стилизации кнопки и блока с развернутым контентом. Например, класс «btn» можно применить к кнопке для придания ей общего стиля.

Вот пример кода с использованием класса Collapse:

<button class="btn btn-primary" data-toggle="collapse" data-target="#collapseExample">Нажми меня</button><div class="collapse" id="collapseExample"><p>Развернутое содержимое блока.</p></div>

В данном примере при нажатии на кнопку с классом «btn» содержимое блока с ID «collapseExample» будет сворачиваться или разворачиваться.

Теперь вы знаете, как использовать класс Collapse для создания виджета collapse в Bootstrap. Вы можете применять его в своих проектах, чтобы развертывать и сворачивать блоки с контентом по клику на кнопку.

Примеры использования Collapse

Вот несколько примеров, демонстрирующих использование Collapse:

  1. Футер с раскрывающимся содержимым:

    В данном примере используется Collapse для создания футера с раскрывающимся содержимым. По умолчанию содержимое футера скрыто, но при нажатии на кнопку «Показать больше» оно отображается. Это позволяет сохранять страницу в чистоте и избежать перегруженности информацией.

  2. Аккордеон:

    Аккордеон — это компонент, который позволяет скрывать и отображать содержимое разных разделов. При использовании Collapse каждый раздел аккордеона скрывается по умолчанию, а открывается только при клике на заголовок раздела. Такой функционал особенно полезен при отображении большого количества информации, которую можно организовать в логические группы.

  3. Выпадающий список:

    В Bootstrap есть возможность использовать Collapse для создания выпадающих списков, которые скрываются и отображаются при нажатии на определенный элемент. Такой элемент может быть полезен, например, для создания навигационного меню, чтобы не занимать много места на странице, но при необходимости всегда можно показать больше пунктов меню.

Это лишь некоторые из возможностей, которые предоставляет Collapse в Bootstrap. С помощью этого инструмента можно создавать различные интерактивные элементы пользовательского интерфейса, которые облегчают взаимодействие пользователей с веб-сайтом или приложением.

Пример 1: Развертывание по клику

Первым шагом будет создание кнопки, которая будет отвечать за развертывание и сворачивание содержимого. Для этого в HTML-документе нужно добавить следующий код:

<button type="button" class="btn btn-primary" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">Развернуть/Свернуть</button>

В данном коде используется классы «btn» и «btn-primary» для стилизации кнопки. Атрибут «data-toggle» указывает, что при клике на кнопку будет происходить развертывание. Атрибут «data-target» указывает на элемент, который должен быть развернут или свернут. В данном примере это элемент с id «collapseExample». Атрибуты «aria-expanded» и «aria-controls» отвечают за доступность и управление элементом с помощью скринридеров, для улучшения доступности страницы.

Затем нужно создать элемент, который будет разворачиваться и сворачиваться при клике на кнопку. Для этого нужно использовать следующий код:

<div class="collapse" id="collapseExample"><p>Это содержимое, которое будет развернуто или свёрнуто.</p></div>

В данном коде используется класс «collapse» для указания, что данный элемент будет разворачиваться и сворачиваться. Атрибут «id» должен совпадать с атрибутом «data-target» кнопки, чтобы связать эти элементы между собой.

После добавления этого кода на страницу, при клике на кнопку «Развернуть/Свернуть» элемент с содержимым будет отображаться или скрываться.

Пример 2: Использование иконок

В Bootstrap 4 можно добавить иконки к заголовкам виджета Collapse с помощью компонента Accordion. Для добавления иконки необходимо использовать элемент i или span с классом fas и нужным классом для конкретной иконки из библиотеки Font Awesome.

Для примера добавим иконку к виджету, которая будет меняться при разворачивании и сворачивании контента.

<div class="accordion" id="example2">
  <div class="card">
    <div class="card-header">
      <h5 class="mb-0">
        <button class="btn btn-link" data-toggle="collapse" data-target="#collapse2" aria-expanded="true">
          <i class="fas fa-chevron-up"></i>
        </button>
      </h5>
    </div>
    <div id="collapse2" class="collapse show" aria-labelledby="heading2" data-parent="#example2">
      <div class="card-body">
        Содержимое виджета.
      </div>
    </div>
  </div>
</div>

В данном примере иконка fa-chevron-up будет отображаться, когда контент виджета развернут, и меняться на иконку fa-chevron-down, когда контент свернут.

Пример 3: Вложенные Collapse

Использование вложенных Collapse позволяет создавать более сложные структуры, где при нажатии на один элемент другие элементы могут сворачиваться или разворачиваться. Для этого можно использовать внутри основного Collapse дополнительные Collapse.

Вот пример вложенных Collapse:

Содержимое раздела 1

Содержимое раздела 2

Содержимое раздела 3

В данном примере созданы три раздела. При нажатии на кнопку «Раздел 1» открывается содержимое раздела 1, а при нажатии на кнопки «Раздел 2» и «Раздел 3» соответственно открываются содержимое разделов 2 и 3. При этом, если уже открыт один раздел и нажать на другой, то предыдущий закроется автоматически, что позволяет иметь только один открытый раздел одновременно.

Инструкция по использованию виджета Collapse

Шаг 1: Подключите файлы Bootstrap CSS и JS к вашей HTML-странице. Вы можете загрузить их с официального сайта Bootstrap или использовать CDN:

<!-- Подключение Bootstrap CSS --><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"><!-- Подключение Bootstrap JS --><script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script><script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"></script><script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>

Шаг 2: Создайте контейнер, в котором будет размещен ваш виджет Collapse. Используйте классы «container» и «my-4» для создания контейнера с внутренним отступом:

<div class="container my-4">...</div>

Шаг 3: Создайте элемент управления для виджета Collapse. Используйте кнопку или любой другой элемент, на который пользователь будет нажимать, чтобы открыть или закрыть содержимое виджета. Добавьте атрибут «data-toggle» со значением «collapse» и атрибут «data-target» с указанием селектора, который относится к контенту, который вы хотите скрыть или показать:

<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#myCollapse">Показать/скрыть</button>

Шаг 4: Создайте контент, который будет скрыт или показан в зависимости от состояния виджета Collapse. Используйте класс «collapse» для контейнера с контентом, и атрибут «id» с уникальным значением, который будет соответствовать значению атрибута «data-target» в шаге 3:

<div class="collapse" id="myCollapse"><p>Это скрытый контент.</p></div>

Шаг 5: Завершите виджет Collapse, переместив код активации, контент и любые другие элементы внутрь контейнера Collapse:

<div class="container my-4"><button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#myCollapse">Показать/скрыть</button><div class="collapse" id="myCollapse"><p>Это скрытый контент.</p></div></div>

Шаг 6: Проверьте работу вашего виджета Collapse. Теперь, когда пользователь нажимает на кнопку, скрытый контент будет отображаться или скрываться, создавая сетку сжатия внутри вашей HTML-страницы.

Добавить комментарий

Вам также может понравиться