Аккордеон
Создавайте вертикально сворачивающиеся аккордеоны в сочетании с нашим плагином Collapse на JavaScript.
Как это работает
Аккордеон использует внутри collapse, чтобы сделать его сворачиваемым. Для рендеринга раскрытого аккордеона добавьте класс .open в .accordion.
prefers-reduced-motion. Смотрите раздел по замедлению движения в нашей документации по специальным возможностям.
Пример
Кликните аккордеоны ниже, чтобы развернуть/свернуть содержимое аккордеона.
.accordion-body, хотя переход ограничивает переполнение. .accordion-body, хотя переход ограничивает переполнение. .accordion-body, хотя переход ограничивает переполнение. <divclass="accordion"id="accordionExample"><divclass="accordion-item"><h2class="accordion-header"><buttonclass="accordion-button"type="button"data-bs-toggle="collapse"data-bs-target="#collapseOne"aria-expanded="true"aria-controls="collapseOne"> Элемент аккордеона #1
</button></h2><divid="collapseOne"class="accordion-collapse collapse show"data-bs-parent="#accordionExample"><divclass="accordion-body"><strong>Это тело аккордеона первого элемента.</strong> Оно отображается по умолчанию, пока плагин свертывания не добавит соответствующие классы, которые мы используем для стилизации каждого элемента. Эти классы управляют общим внешним видом, а также отображением и скрытием с помощью переходов CSS. Вы можете изменить все это с помощью собственного CSS или переопределить наши переменные по умолчанию. Также стоит отметить, что практически любой HTML может быть помещен в <code>.accordion-body</code>, хотя переход ограничивает переполнение.
</div></div></div><divclass="accordion-item"><h2class="accordion-header"><buttonclass="accordion-button collapsed"type="button"data-bs-toggle="collapse"data-bs-target="#collapseTwo"aria-expanded="false"aria-controls="collapseTwo"> Элемент аккордеона #2
</button></h2><divid="collapseTwo"class="accordion-collapse collapse"data-bs-parent="#accordionExample"><divclass="accordion-body"><strong>Это тело аккордеона второго элемента.</strong> По умолчанию он скрыт, пока плагин свертывания не добавит соответствующие классы, которые мы используем для стилизации каждого элемента. Эти классы управляют общим внешним видом, а также отображением и скрытием с помощью переходов CSS. Вы можете изменить все это с помощью собственного CSS или переопределить наши переменные по умолчанию. Также стоит отметить, что практически любой HTML может быть помещен в <code>.accordion-body</code>, хотя переход ограничивает переполнение.
</div></div></div><divclass="accordion-item"><h2class="accordion-header"><buttonclass="accordion-button collapsed"type="button"data-bs-toggle="collapse"data-bs-target="#collapseThree"aria-expanded="false"aria-controls="collapseThree"> Элемент аккордеона #3
</button></h2><divid="collapseThree"class="accordion-collapse collapse"data-bs-parent="#accordionExample"><divclass="accordion-body"><strong>Это тело аккордеона третьего элемента.</strong> По умолчанию оно скрыто, пока плагин свертывания не добавит соответствующие классы, которые мы используем для стилизации каждого элемента. Эти классы управляют общим внешним видом, а также отображением и скрытием с помощью переходов CSS. Вы можете изменить все это с помощью собственного CSS или переопределить наши переменные по умолчанию. Также стоит отметить, что практически любой HTML может быть помещен в <code>.accordion-body</code>, хотя переход ограничивает переполнение.
</div></div></div></div>Поток
Добавьте .accordion-flush, чтобы удалить некоторые границы и закругленные углы, чтобы аккордеоны отображались от края до края с их родительским контейнером.
.accordion-flush class. This is the first item's accordion body..accordion-flush class. This is the second item's accordion body. Let's imagine this being filled with some actual content..accordion-flush class. This is the third item's accordion body. Nothing more exciting happening here in terms of content, but just filling up the space to make it look, at least at first glance, a bit more representative of how this would look in a real-world application.<divclass="accordion accordion-flush"id="accordionFlushExample"><divclass="accordion-item"><h2class="accordion-header"><buttonclass="accordion-button collapsed"type="button"data-bs-toggle="collapse"data-bs-target="#flush-collapseOne"aria-expanded="false"aria-controls="flush-collapseOne"> Элемент аккордеона #1
</button></h2><divid="flush-collapseOne"class="accordion-collapse collapse"data-bs-parent="#accordionFlushExample"><divclass="accordion-body">Placeholder content for this accordion, which is intended to demonstrate the <code>.accordion-flush</code> class. This is the first item's accordion body.</div></div></div><divclass="accordion-item"><h2class="accordion-header"><buttonclass="accordion-button collapsed"type="button"data-bs-toggle="collapse"data-bs-target="#flush-collapseTwo"aria-expanded="false"aria-controls="flush-collapseTwo"> Элемент аккордеона #2
</button></h2><divid="flush-collapseTwo"class="accordion-collapse collapse"data-bs-parent="#accordionFlushExample"><divclass="accordion-body">Placeholder content for this accordion, which is intended to demonstrate the <code>.accordion-flush</code> class. This is the second item's accordion body. Let's imagine this being filled with some actual content.</div></div></div><divclass="accordion-item"><h2class="accordion-header"><buttonclass="accordion-button collapsed"type="button"data-bs-toggle="collapse"data-bs-target="#flush-collapseThree"aria-expanded="false"aria-controls="flush-collapseThree"> Элемент аккордеона #3
</button></h2><divid="flush-collapseThree"class="accordion-collapse collapse"data-bs-parent="#accordionFlushExample"><divclass="accordion-body">Placeholder content for this accordion, which is intended to demonstrate the <code>.accordion-flush</code> class. This is the third item's accordion body. Nothing more exciting happening here in terms of content, but just filling up the space to make it look, at least at first glance, a bit more representative of how this would look in a real-world application.</div></div></div></div>Всегда открыт
Опустите атрибут data-bs-parent в каждом .accordion-collapse, чтобы элементы аккордеона оставались открытыми при открытии другого элемента.
.accordion-body, хотя переход ограничивает переполнение. .accordion-body, хотя переход ограничивает переполнение. .accordion-body, хотя переход ограничивает переполнение. <divclass="accordion"id="accordionPanelsStayOpenExample"><divclass="accordion-item"><h2class="accordion-header"><buttonclass="accordion-button"type="button"data-bs-toggle="collapse"data-bs-target="#panelsStayOpen-collapseOne"aria-expanded="true"aria-controls="panelsStayOpen-collapseOne"> Аккордеонный элемент #1
</button></h2><divid="panelsStayOpen-collapseOne"class="accordion-collapse collapse show"><divclass="accordion-body"><strong>Это тело аккордеона первого элемента.</strong> Оно отображается по умолчанию, пока плагин свертывания не добавит соответствующие классы, которые мы используем для стилизации каждого элемента. Эти классы управляют общим внешним видом, а также отображением и скрытием с помощью переходов CSS. Вы можете изменить все это с помощью собственного CSS или переопределить наши переменные по умолчанию. Также стоит отметить, что практически любой HTML может быть помещен в <code>.accordion-body</code>, хотя переход ограничивает переполнение.
</div></div></div><divclass="accordion-item"><h2class="accordion-header"><buttonclass="accordion-button collapsed"type="button"data-bs-toggle="collapse"data-bs-target="#panelsStayOpen-collapseTwo"aria-expanded="false"aria-controls="panelsStayOpen-collapseTwo"> Аккордеонный элемент #2
</button></h2><divid="panelsStayOpen-collapseTwo"class="accordion-collapse collapse"><divclass="accordion-body"><strong>Это тело аккордеона второго элемента.</strong> По умолчанию он скрыт, пока плагин свертывания не добавит соответствующие классы, которые мы используем для стилизации каждого элемента. Эти классы управляют общим внешним видом, а также отображением и скрытием с помощью переходов CSS. Вы можете изменить все это с помощью собственного CSS или переопределить наши переменные по умолчанию. Также стоит отметить, что практически любой HTML может быть помещен в <code>.accordion-body</code>, хотя переход ограничивает переполнение.
</div></div></div><divclass="accordion-item"><h2class="accordion-header"><buttonclass="accordion-button collapsed"type="button"data-bs-toggle="collapse"data-bs-target="#panelsStayOpen-collapseThree"aria-expanded="false"aria-controls="panelsStayOpen-collapseThree"> Аккордеонный элемент #3
</button></h2><divid="panelsStayOpen-collapseThree"class="accordion-collapse collapse"><divclass="accordion-body"><strong>Это тело аккордеона третьего элемента.</strong> По умолчанию он скрыт, пока плагин свертывания не добавит соответствующие классы, которые мы используем для стилизации каждого элемента. Эти классы управляют общим внешним видом, а также отображением и скрытием с помощью переходов CSS. Вы можете изменить все это с помощью собственного CSS или переопределить наши переменные по умолчанию. Также стоит отметить, что практически любой HTML может быть помещен в <code>.accordion-body</code>, хотя переход ограничивает переполнение.
</div></div></div></div>Доступность
Пожалуйста, прочтите раздел специальных возможностей сворачивания для получения дополнительной информации.
CSS
Переменные
Добавлено в версии 5.2.0Как часть развивающегося подхода Bootstrap к переменным CSS, аккордеоны теперь используют локальные переменные CSS в .accordion для расширенной настройки в реальном времени. Значения переменных CSS задаются через Sass, поэтому настройка Sass по-прежнему поддерживается.
--#{$prefix}accordion-color:#{$accordion-color};--#{$prefix}accordion-bg:#{$accordion-bg};--#{$prefix}accordion-transition:#{$accordion-transition};--#{$prefix}accordion-border-color:#{$accordion-border-color};--#{$prefix}accordion-border-width:#{$accordion-border-width};--#{$prefix}accordion-border-radius:#{$accordion-border-radius};--#{$prefix}accordion-inner-border-radius:#{$accordion-inner-border-radius};--#{$prefix}accordion-btn-padding-x:#{$accordion-button-padding-x};--#{$prefix}accordion-btn-padding-y:#{$accordion-button-padding-y};--#{$prefix}accordion-btn-color:#{$accordion-button-color};--#{$prefix}accordion-btn-bg:#{$accordion-button-bg};--#{$prefix}accordion-btn-icon:#{escape-svg($accordion-button-icon)};--#{$prefix}accordion-btn-icon-width:#{$accordion-icon-width};--#{$prefix}accordion-btn-icon-transform:#{$accordion-icon-transform};--#{$prefix}accordion-btn-icon-transition:#{$accordion-icon-transition};--#{$prefix}accordion-btn-active-icon:#{escape-svg($accordion-button-active-icon)};--#{$prefix}accordion-btn-focus-box-shadow:#{$accordion-button-focus-box-shadow};--#{$prefix}accordion-body-padding-x:#{$accordion-body-padding-x};--#{$prefix}accordion-body-padding-y:#{$accordion-body-padding-y};--#{$prefix}accordion-active-color:#{$accordion-button-active-color};--#{$prefix}accordion-active-bg:#{$accordion-button-active-bg};Sass переменные
$accordion-padding-y:1rem;$accordion-padding-x:1.25rem;$accordion-color:var(--#{$prefix}body-color);$accordion-bg:var(--#{$prefix}body-bg);$accordion-border-width:var(--#{$prefix}border-width);$accordion-border-color:var(--#{$prefix}border-color);$accordion-border-radius:var(--#{$prefix}border-radius);$accordion-inner-border-radius:subtract($accordion-border-radius,$accordion-border-width);$accordion-body-padding-y:$accordion-padding-y;$accordion-body-padding-x:$accordion-padding-x;$accordion-button-padding-y:$accordion-padding-y;$accordion-button-padding-x:$accordion-padding-x;$accordion-button-color:var(--#{$prefix}body-color);$accordion-button-bg:var(--#{$prefix}accordion-bg);$accordion-transition:$btn-transition,border-radius.15sease;$accordion-button-active-bg:var(--#{$prefix}primary-bg-subtle);$accordion-button-active-color:var(--#{$prefix}primary-text-emphasis);// fusv-disable
$accordion-button-focus-border-color:$input-focus-border-color;// Устарело в версии 5.3.3.
// fusv-enable
$accordion-button-focus-box-shadow:$btn-focus-box-shadow;$accordion-icon-width:1.25rem;$accordion-icon-color:$body-color;$accordion-icon-active-color:$primary-text-emphasis;$accordion-icon-transition:transform.2sease-in-out;$accordion-icon-transform:rotate(-180deg);$accordion-button-icon:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-color}' stroke-linecap='round' stroke-linejoin='round'><path d='M2 5L8 11L14 5'/></svg>");$accordion-button-active-icon:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-active-color}' stroke-linecap='round' stroke-linejoin='round'><path d='M2 5L8 11L14 5'/></svg>");