Bootstrap - Состояние COLLAPSE: Подробное руководство для начинающих
Здравствуйте, будущие веб-разработчики! Сегодня мы погрузимся в один из самых полезных компонентов Bootstrap: Состояние COLLAPSE. Представьте себе魔术 для ваших веб-страниц - теперь вы видите его, теперь нет! Давайте отправимся в это увлекательное путешествие вместе.
Что такое Состояние COLLAPSE?
Прежде чем мы перейдем к коду, давайте поймем, что такое COLLAPSE. Представьте, у вас есть длинная статья на вашем сайте, но вы не хотите перегружать посетителей всем текстом сразу. Вот где на помощь приходит COLLAPSE! Он позволяет прятать и показывать контент всего лишь одним кликом, делая ваши веб-страницы более интерактивными и удобными для пользователей.
Пример
Давайте начнем с простого примера, чтобы размяться.
<p>
<a class="btn btn-primary" data-bs-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
Нажмите, чтобы открыть секрет!
</a>
</p>
<div class="collapse" id="collapseExample">
<div class="card card-body">
Секрет в том, что вы awesome за изучение Bootstrap!
</div>
</div>
Давайте разберем это:
- У нас есть кнопка (оформленная как ссылка), которая запускает состояние COLLAPSE.
- Атрибут
data-bs-toggle="collapse"
говорит Bootstrap, что этот элемент управляет collapsible областью. -
href="#collapseExample"
указывает на ID collapsible контента. - Collapsible контент заключен в div с классом
collapse
и ID, который соответствует href в кнопке.
Когда вы нажимаете кнопку, Bootstrapmagic срабатывает, и voila! Ваш контент появляется или исчезает.
Горизонтальное Состояние COLLAPSE
Теперь давайте добавим немного остроты с горизонтальным состоянием COLLAPSE. Это как если бы ваш контент играет в прятки, но в стороны!
<p>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseWidthExample" aria-expanded="false" aria-controls="collapseWidthExample">
Переключить ширину collapse
</button>
</p>
<div style="min-height: 120px;">
<div class="collapse collapse-horizontal" id="collapseWidthExample">
<div class="card card-body" style="width: 300px;">
Это примерный контент для горизонтального состояния COLLAPSE. Он скрыт по умолчанию и отображается при активации.
</div>
</div>
</div>
Основные различия здесь:
- Мы используем класс
collapse-horizontal
вместе сcollapse
. - Мы установили определенную ширину для collapsible контента.
- Внешний div с
min-height
обеспечивает то, что другие элементы не прыгают при переключении состояния.
Множественные Переключатели и Цели
Теперь давайте создадим симфонию collapsible элементов! Мы можем иметь несколько кнопок, управляющих различными (или теми же) collapsible областями.
<p>
<a class="btn btn-primary" data-bs-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Переключить первый элемент</a>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#multiCollapseExample2" aria-expanded="false" aria-controls="multiCollapseExample2">Переключить второй элемент</button>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target=".multi-collapse" aria-expanded="false" aria-controls="multiCollapseExample1 multiCollapseExample2">Переключить оба элемента</button>
</p>
<div class="row">
<div class="col">
<div class="collapse multi-collapse" id="multiCollapseExample1">
<div class="card card-body">
Примерный контент для первого компонента состояния COLLAPSE в этом примере с множественным collapsible.
</div>
</div>
</div>
<div class="col">
<div class="collapse multi-collapse" id="multiCollapseExample2">
<div class="card card-body">
Примерный контент для второго компонента состояния COLLAPSE в этом примере с множественным collapsible.
</div>
</div>
</div>
</div>
Вот что происходит:
- У нас есть три кнопки: две управляют отдельными состояниями, а одна управляет обоими.
- Третья кнопка использует
.multi-collapse
для управления обоими collapsible областями. - Each collapsible area has both a unique ID and the
multi-collapse
class.
Доступность
Будучи ответственными разработчиками, мы должны убедиться, что наши веб-сайты доступны всем. Компонент Состояние COLLAPSE от Bootstrap comes with built-in accessibility features, but we can enhance them:
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#accessibleCollapse" aria-expanded="false" aria-controls="accessibleCollapse">
Кнопка доступного состояния COLLAPSE
</button>
<div class="collapse" id="accessibleCollapse">
<div class="card card-body">
Этот контент скрыт, но доступен для экранных读者的.
</div>
</div>
Основные функции доступности:
- Атрибут
aria-expanded
сообщает экранным читателям, виден ли в данный момент collapsible контент. - Атрибут
aria-controls
связывает кнопку с collapsible контентом.
Таблица Методов
Вот удобная таблица методов Состояния COLLAPSE, которые вы можете использовать в вашем JavaScript:
Метод | Описание |
---|---|
collapse('toggle') |
Переключает состояние collapsible элемента |
collapse('show') |
Показывает collapsible элемент |
collapse('hide') |
Сворачивает collapsible элемент |
collapse('dispose') |
Уничтожает состояние COLLAPSE элемента |
Чтобы использовать эти методы, вы делаете что-то вроде:
var myCollapsible = document.getElementById('myCollapse')
var bsCollapse = new bootstrap.Collapse(myCollapsible, {
toggle: false
})
bsCollapse.show()
И вот и все,朋友们! Вы только что овладели искусством Bootstrap COLLAPSE. Помните, практика делает мастера, так что не бойтесь экспериментировать с этими примерами. Before you know it, you'll be creating web pages that fold and unfold like origami!
Счастливого кодирования, и пусть ваши collapse всегда проходят гладко, а ваши переключатели всегда отзывчивы!
Credits: Image by storyset