列表组是Bootstrap中用于显示一系列内容的灵活组件:
Bootstrap 4 提供了简单易用的列表组组件,使用 .list-group 和 .list-group-item 类创建列表。
<!-- 简单列表组 -->
<ul class="list-group">
<li class="list-group-item">第一个项目</li>
<li class="list-group-item">第二个项目</li>
<li class="list-group-item">第三个项目</li>
<li class="list-group-item">第四个项目</li>
<li class="list-group-item">第五个项目</li>
</ul>
<!-- 带链接的列表组 -->
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action">第一个链接</a>
<a href="#" class="list-group-item list-group-item-action">第二个链接</a>
<a href="#" class="list-group-item list-group-item-action">第三个链接</a>
<a href="#" class="list-group-item list-group-item-action">第四个链接</a>
<a href="#" class="list-group-item list-group-item-action">第五个链接</a>
</div>
Bootstrap 4 提供了多种列表组状态,包括激活状态和禁用状态。
<!-- 激活和禁用状态 -->
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action">常规项目</a>
<a href="#" class="list-group-item list-group-item-action active">激活项目</a>
<a href="#" class="list-group-item list-group-item-action disabled" tabindex="-1" aria-disabled="true">禁用项目</a>
<a href="#" class="list-group-item list-group-item-action">另一个常规项目</a>
</div>
<!-- 上下文颜色 -->
<ul class="list-group">
<li class="list-group-item">默认列表项</li>
<li class="list-group-item list-group-item-primary">主要列表项</li>
<li class="list-group-item list-group-item-secondary">次要列表项</li>
<li class="list-group-item list-group-item-success">成功列表项</li>
<li class="list-group-item list-group-item-danger">危险列表项</li>
<li class="list-group-item list-group-item-warning">警告列表项</li>
<li class="list-group-item list-group-item-info">信息列表项</li>
<li class="list-group-item list-group-item-light">浅色列表项</li>
<li class="list-group-item list-group-item-dark">深色列表项</li>
</ul>
可以在列表项中添加徽章,用于显示计数或其他信息。
<ul class="list-group">
<li class="list-group-item d-flex justify-content-between align-items-center">
收件箱
<span class="badge badge-primary badge-pill">12</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
已发送
<span class="badge badge-primary badge-pill">5</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
草稿
<span class="badge badge-primary badge-pill">3</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
垃圾邮件
<span class="badge badge-primary badge-pill">27</span>
</li>
</ul>
列表组可以包含任意HTML内容,而不仅仅是文本。
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">列表组项目标题</h5>
<small>3天前</small>
</div>
<p class="mb-1">这是列表组项目的内容区域。这里可以放置一些描述性文本。</p>
<small>一些较小的文本。</small>
</a>
<a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">另一个列表组项目标题</h5>
<small class="text-muted">1周前</small>
</div>
<p class="mb-1">这是另一个列表组项目的内容区域。这里可以放置一些描述性文本。</p>
<small class="text-muted">一些较小的文本。</small>
</a>
<a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">第三个列表组项目标题</h5>
<small class="text-muted">2周前</small>
</div>
<p class="mb-1">这是第三个列表组项目的内容区域。这里可以放置一些描述性文本。</p>
<small class="text-muted">一些较小的文本。</small>
</a>
</div>
Bootstrap 4 提供了多种列表组样式变体,以适应不同的设计需求。
<!-- 无边框列表组 -->
<ul class="list-group list-group-flush">
<li class="list-group-item">第一个项目</li>
<li class="list-group-item">第二个项目</li>
<li class="list-group-item">第三个项目</li>
<li class="list-group-item">第四个项目</li>
</ul>
<!-- 水平列表组 -->
<ul class="list-group list-group-horizontal">
<li class="list-group-item">第一个项目</li>
<li class="list-group-item">第二个项目</li>
<li class="list-group-item">第三个项目</li>
</ul>
<!-- 自定义样式列表组 -->
<style>
.custom-list-group .list-group-item {
border-left: 4px solid transparent;
transition: all 0.3s;
}
.custom-list-group .list-group-item:hover {
border-left-color: #6f42c1;
background-color: rgba(111, 66, 193, 0.05);
}
.custom-list-group .list-group-item.active {
border-left-color: #6f42c1;
background-color: #6f42c1;
}
</style>
<ul class="list-group custom-list-group">
<li class="list-group-item">第一个项目</li>
<li class="list-group-item active">激活项目</li>
<li class="list-group-item">第三个项目</li>
<li class="list-group-item">第四个项目</li>
</ul>
列表组可以与JavaScript结合使用,创建交互式组件。
<div class="row">
<div class="col-4">
<div class="list-group" id="list-tab" role="tablist">
<a class="list-group-item list-group-item-action active" id="list-home-list" data-toggle="list" href="#list-home" role="tab" aria-controls="home">首页</a>
<a class="list-group-item list-group-item-action" id="list-profile-list" data-toggle="list" href="#list-profile" role="tab" aria-controls="profile">个人资料</a>
<a class="list-group-item list-group-item-action" id="list-messages-list" data-toggle="list" href="#list-messages" role="tab" aria-controls="messages">消息</a>
<a class="list-group-item list-group-item-action" id="list-settings-list" data-toggle="list" href="#list-settings" role="tab" aria-controls="settings">设置</a>
</div>
</div>
<div class="col-8">
<div class="tab-content" id="nav-tabContent">
<div class="tab-pane fade show active" id="list-home" role="tabpanel" aria-labelledby="list-home-list">
<h5>首页内容</h5>
<p>这是首页的内容区域。您可以在这里放置任何内容。</p>
</div>
<div class="tab-pane fade" id="list-profile" role="tabpanel" aria-labelledby="list-profile-list">
<h5>个人资料内容</h5>
<p>这是个人资料的内容区域。您可以在这里放置任何内容。</p>
</div>
<div class="tab-pane fade" id="list-messages" role="tabpanel" aria-labelledby="list-messages-list">
<h5>消息内容</h5>
<p>这是消息的内容区域。您可以在这里放置任何内容。</p>
</div>
<div class="tab-pane fade" id="list-settings" role="tabpanel" aria-labelledby="list-settings-list">
<h5>设置内容</h5>
<p>这是设置的内容区域。您可以在这里放置任何内容。</p>
</div>
</div>
</div>
</div>