Bootstrap5 列表组学习笔记

Bootstrap5 提供了很多实用的组件,其中包括列表组(List Group)。列表组可以用于展示一系列相关的数据或链接,具有良好的排版效果和交互体验。本文将详细介绍 Bootstrap5 列表组的使用方法以及常用选项和实例。

列表组样式及基本用法

Bootstrap5 提供了多种列表组样式,可以通过添加 class 来实现。以下是常用列表组样式及其 class:

  • 基本样式:list-group
  • 链接样式:list-group list-group-flush
  • 水平排列样式:list-group-horizontal
  • 活动状态:active
  • 禁用状态:disabled

列表组的基本用法非常简单,只需在 ul 标签中添加 list-group class 即可,如下所示:

htmlCopy Code
<ul class="list-group"> <li class="list-group-item">列表项 1</li> <li class="list-group-item">列表项 2</li> <li class="list-group-item">列表项 3</li> </ul>

通过添加不同的 class,可以实现其他样式的列表组。例如,以下代码实现了水平排列的链接列表组:

htmlCopy Code
<div class="list-group list-group-horizontal"> <a href="#" class="list-group-item list-group-item-action">链接1</a> <a href="#" class="list-group-item list-group-item-action">链接2</a> <a href="#" class="list-group-item list-group-item-action">链接3</a> </div>

列表组的高级用法

除了基本用法外,Bootstrap5 还提供了一些高级用法和选项,可以进一步优化列表组的显示效果和交互体验。

列表组嵌套

Bootstrap5 支持在列表组中嵌套其他列表组。以下是一个嵌套列表组的示例:

htmlCopy Code
<ul class="list-group"> <li class="list-group-item">一级列表项 1 <ul class="list-group list-group-flush"> <li class="list-group-item">二级列表项 1</li> <li class="list-group-item">二级列表项 2</li> <li class="list-group-item">二级列表项 3</li> </ul> </li> <li class="list-group-item">一级列表项 2</li> <li class="list-group-item">一级列表项 3</li> </ul>

列表组激活状态

列表组的激活状态可以通过 active class 实现。以下是一个设置了激活状态的列表组示例:

htmlCopy Code
<ul class="list-group"> <li class="list-group-item active" aria-current="true">激活列表项</li> <li class="list-group-item">列表项 1</li> <li class="list-group-item">列表项 2</li> </ul>

列表组禁用状态

列表组的禁用状态可以通过 disabled class 实现。以下是一个设置了禁用状态的列表组示例:

htmlCopy Code
<ul class="list-group"> <li class="list-group-item">列表项 1</li> <li class="list-group-item disabled" tabindex="-1" aria-disabled="true">禁用列表项</li> <li class="list-group-item">列表项 2</li> </ul>

列表组事件绑定

Bootstrap5 列表组支持多种事件,可以通过 JavaScript 绑定。以下是一个绑定了点击事件的列表组示例:

htmlCopy Code
<ul class="list-group"> <li class="list-group-item">列表项 1</li> <li class="list-group-item">列表项 2</li> <li class="list-group-item">列表项 3</li> </ul> <script> var listItems = document.querySelectorAll(".list-group-item"); for (var i = 0; i < listItems.length; i++) { listItems[i].addEventListener("click", function() { alert("你点击了列表项:" + this.textContent); }); } </script>

列表组实例

以下是一些常见的列表组实例,供参考:

常规列表组

htmlCopy Code
<ul class="list-group"> <li class="list-group-item">Apple</li> <li class="list-group-item">Banana</li> <li class="list-group-item">Cherry</li> <li class="list-group-item">Durian</li> </ul>

链接列表组

htmlCopy Code
<div class="list-group list-group-flush"> <a href="#" class="list-group-item list-group-item-action">Home</a> <a href="#" class="list-group-item list-group-item-action">About</a> <a href="#" class="list-group-item list-group-item-action">Contact</a> </div>

水平排列的链接列表组

htmlCopy Code
<div class="list-group list-group-horizontal"> <a href="#" class="list-group-item list-group-item-action">Link 1</a> <a href="#" class="list-group-item list-group-item-action">Link 2</a> <a href="#" class="list-group-item list-group-item-action">Link 3</a> </div>

嵌套列表组

htmlCopy Code
<ul class="list-group"> <li class="list-group-item">一级列表项 1 <ul class="list-group list-group-flush"> <li class="list-group-item">二级列表项 1</li> <li class="list-group-item">二级列表项 2</li> <li class="list-group-item">二级列表项 3</li> </ul> </li> <li class="list-group-item">一级列表项 2</li> <li class="list-group-item">一级列表项 3</li> </ul>