Bootstrap 4 徽章 - 设计精美的标签与计数器
Bootstrap 4 徽章(Badges) ¶
徽章(Badges)是Bootstrap 4中的轻量级组件,主要用于计数、标记或突出显示新的或未读的项。徽章可以很轻松地添加到各种元素中,例如导航菜单、按钮、标题等。
基本徽章 ¶
创建一个基本徽章非常简单,只需将.badge
类和一个颜色类(如.badge-secondary
)添加到<span>
元素上:
html
1<span class="badge badge-secondary">New</span>
徽章会自动适应其父元素的大小,以下是添加到各种标题级别的示例:
html
1<h1>测试标题 <span class="badge badge-secondary">New</span></h1>
2<h2>测试标题 <span class="badge badge-secondary">New</span></h2>
3<h3>测试标题 <span class="badge badge-secondary">New</span></h3>
4<h4>测试标题 <span class="badge badge-secondary">New</span></h4>
5<h5>测试标题 <span class="badge badge-secondary">New</span></h5>
6<h6>测试标题 <span class="badge badge-secondary">New</span></h6>
徽章颜色 ¶
Bootstrap 4提供了多种预定义的颜色类,可以应用于徽章以表达不同的含义:
html
1<span class="badge badge-primary">主要</span>
2<span class="badge badge-secondary">次要</span>
3<span class="badge badge-success">成功</span>
4<span class="badge badge-danger">危险</span>
5<span class="badge badge-warning">警告</span>
6<span class="badge badge-info">信息</span>
7<span class="badge badge-light">浅色</span>
8<span class="badge badge-dark">深色</span>
每种颜色都有特定的语义含义:
- Primary: 用于主要操作或重要信息
- Secondary: 次要信息
- Success: 成功操作或正面信息
- Danger: 危险操作或错误信息
- Warning: 需要注意或警告的信息
- Info: 中性的信息性提示
- Light: 用于深色背景上的徽章
- Dark: 用于浅色背景上的徽章
药丸形状徽章 ¶
通过添加.badge-pill
类,可以将徽章设置为药丸形状(更圆的边角):
html
1<span class="badge badge-pill badge-primary">主要</span>
2<span class="badge badge-pill badge-secondary">次要</span>
3<span class="badge badge-pill badge-success">成功</span>
4<span class="badge badge-pill badge-danger">危险</span>
5<span class="badge badge-pill badge-warning">警告</span>
6<span class="badge badge-pill badge-info">信息</span>
7<span class="badge badge-pill badge-light">浅色</span>
8<span class="badge badge-pill badge-dark">深色</span>
徽章与其他元素结合 ¶
在按钮中使用徽章 ¶
徽章可以嵌入到按钮中,常用于显示计数器或通知数量:
html
1<button type="button" class="btn btn-primary">
2 消息 <span class="badge badge-light">4</span>
3</button>
4
5<button type="button" class="btn btn-success">
6 通知 <span class="badge badge-light">7</span>
7 <span class="sr-only">未读消息</span>
8</button>
注意:sr-only
类用于屏幕阅读器,提高可访问性。
在导航中使用徽章 ¶
徽章也可以用在导航项目中:
html
1<ul class="nav nav-pills">
2 <li class="nav-item">
3 <a class="nav-link active" href="#">首页</a>
4 </li>
5 <li class="nav-item">
6 <a class="nav-link" href="#">资料</a>
7 </li>
8 <li class="nav-item">
9 <a class="nav-link" href="#">消息 <span class="badge badge-light">4</span></a>
10 </li>
11 <li class="nav-item">
12 <a class="nav-link disabled" href="#">已禁用</a>
13 </li>
14</ul>
在列表组中使用徽章 ¶
在列表组中使用徽章可以标记项目的数量或状态:
html
1<ul class="list-group">
2 <li class="list-group-item d-flex justify-content-between align-items-center">
3 收件箱
4 <span class="badge badge-primary badge-pill">12</span>
5 </li>
6 <li class="list-group-item d-flex justify-content-between align-items-center">
7 已发送
8 <span class="badge badge-primary badge-pill">50</span>
9 </li>
10 <li class="list-group-item d-flex justify-content-between align-items-center">
11 垃圾邮件
12 <span class="badge badge-primary badge-pill">99+</span>
13 </li>
14</ul>
徽章的定位 ¶
通过结合Bootstrap的flexbox工具类,可以轻松地定位徽章:
右对齐徽章 ¶
html
1<div class="d-flex justify-content-between">
2 <span>未读消息</span>
3 <span class="badge badge-primary">5</span>
4</div>
悬浮徽章(通知角标) ¶
创建一个位于元素右上角的通知角标:
html
1<div class="position-relative">
2 <button class="btn btn-primary">
3 <i class="fa fa-bell"></i>
4 </button>
5 <span class="position-absolute badge badge-danger" style="top: -10px; right: -10px;">5</span>
6</div>
徽章的使用场景 ¶
徽章在UI设计中有多种实用场景:
- 通知计数器 - 显示未读消息、通知或购物车项目数量
- 状态指示器 - 标记项目为"新"、“热门”、“已售完"等
- 标签 - 在内容中添加标签或分类信息
- 版本号 - 显示产品或功能的版本信息
- 用户级别 - 标识用户等级或权限
最佳实践 ¶
- 选择合适的颜色 - 根据徽章的语义含义选择颜色,保持一致
- 保持简短 - 徽章内容应简短明了,通常为数字或短文本
- 避免过度使用 - 页面上的徽章不宜过多,以免分散用户注意力
- 考虑可访问性 - 确保徽章的颜色对比度足够,方便所有用户识别
- 响应式设计 - 确保徽章在所有设备上正确显示
自定义徽章样式 ¶
除了Bootstrap预定义的样式,你还可以自定义徽章的外观:
css
1/* 自定义徽章背景色 */
2.badge-custom {
3 background-color: #6f42c1;
4 color: white;
5}
6
7/* 带边框的徽章 */
8.badge-outline-primary {
9 color: #007bff;
10 background-color: transparent;
11 border: 1px solid #007bff;
12}
13
14/* 较大的徽章 */
15.badge-lg {
16 font-size: 90%;
17 padding: 0.35em 0.8em;
18}
自定义样式的HTML使用:
html
1<span class="badge badge-custom">自定义</span>
2<span class="badge badge-outline-primary">轮廓样式</span>
3<span class="badge badge-primary badge-lg">大号徽章</span>
注意事项 ¶
- 在Bootstrap 5中,
.badge
类已不再需要配合颜色类使用,而是默认采用灰色 - 徽章应提供足够的对比度,确保用户可以轻松阅读其内容
- 为带有徽章的交互元素添加适当的悬停效果,提高用户体验