Bootstrap 5 折叠学习笔记

Bootstrap 5 折叠是一种用于隐藏/展示大块内容的功能。通过折叠,用户可以看到关键信息,并隐藏不必要的细节。

基本用法

Bootstrap 5 的折叠使用了 data-bs-toggledata-bs-target 属性来控制折叠内容的显示和隐藏。以下是一个基本的折叠示例:

htmlCopy Code
<div class="accordion" id="accordionExample"> <div class="accordion-item"> <h2 class="accordion-header" id="headingOne"> <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne"> 折叠标题 1 </button> </h2> <div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#accordionExample"> <div class="accordion-body"> 折叠内容 1 </div> </div> </div> <div class="accordion-item"> <h2 class="accordion-header" id="headingTwo"> <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo"> 折叠标题 2 </button> </h2> <div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo" data-bs-parent="#accordionExample"> <div class="accordion-body"> 折叠内容 2 </div> </div> </div> <div class="accordion-item"> <h2 class="accordion-header" id="headingThree"> <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree"> 折叠标题 3 </button> </h2> <div id="collapseThree" class="accordion-collapse collapse" aria-labelledby="headingThree" data-bs-parent="#accordionExample"> <div class="accordion-body"> 折叠内容 3 </div> </div> </div> </div>

在上面的例子中,我们使用了 data-bs-toggledata-bs-target 属性来控制折叠菜单的显示和隐藏。当点击折叠标题时,相应的折叠内容就会显示出来。

注意,在折叠标题按钮中,我们使用了 aria-expandedaria-controls 属性来指定当前折叠是否展开,以及对应的折叠内容的控制标识。

折叠样式

Bootstrap 5 的折叠功能还提供了一些样式选项,可以通过添加一些类来实现自定义的外观效果。

手风琴效果

手风琴效果是指只有一个折叠内容能够展开的效果。要实现这个效果,只需要在父元素上添加 accordion 类,同时在每个 accordion-item 上添加 accordion-collapse 类。在创建折叠标题按钮时,需要将 data-bs-parent 属性设置为折叠元素的父元素 ID。

htmlCopy Code
<div class="accordion" id="accordionExample"> <div class="accordion-item"> <h2 class="accordion-header" id="headingOne"> <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne"> 折叠标题 1 </button> </h2> <div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#accordionExample"> <div class="accordion-body"> 折叠内容 1 </div> </div> </div> <div class="accordion-item"> <h2 class="accordion-header" id="headingTwo"> <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo"> 折叠标题 2 </button> </h2> <div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo" data-bs-parent="#accordionExample"> <div class="accordion-body"> 折叠内容 2 </div> </div> </div> <div class="accordion-item"> <h2 class="accordion-header" id="headingThree"> <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree"> 折叠标题 3 </button> </h2> <div id="collapseThree" class="accordion-collapse collapse" aria-labelledby="headingThree" data-bs-parent="#accordionExample"> <div class="accordion-body"> 折叠内容 3 </div> </div> </div> </div>

内边距和外边距

Bootstrap 5 的折叠组件还提供了一些类,用于控制折叠标题和折叠内容的内边距和外边距。这些类包括:

  • .accordion:父元素,用于包装所有折叠项。
  • .accordion-item:每个折叠项的容器。
  • .accordion-header:折叠标题的容器。
  • .accordion-button:折叠标题按钮。
  • .accordion-body:折叠内容的容器。
htmlCopy Code
<div class="accordion" id="accordionExample"> <div class="accordion-item"> <h2 class="accordion-header" id="headingOne"> <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne"> 折叠标题 1 </button> </h2> <div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#accordionExample"> <div class="accordion-body p-3"> 折叠内容 1 </div> </div> </div> <div class="accordion-item"> <h2 class="accordion-header" id="headingTwo"> <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo"> 折叠标题 2 </button> </h2> <div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo" data-bs-parent="#accordionExample"> <div class="accordion-body p-3"> 折叠内容 2 </div> </div> </div> <div class="accordion-item"> <h2 class="accordion-header" id="headingThree"> <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree"> 折叠标题 3 </button> </h2> <div id="collapseThree" class="accordion-collapse collapse" aria-labelledby="headingThree" data-bs-parent="#accordionExample"> <div class="accordion-body p-3"> 折叠内容 3 </div> </div> </div> </div>

在上面的例子中,我们使用了 .p-3 类来为折叠内容添加内边距。

结论

通过 Bootstrap 5 的折叠组件,可以实现非常灵活的页面元素隐藏和展示效果。掌握了折叠的基础用法和样式调整方法后,可以在实际项目中快速应用。