Bootstrap5 提示框

Bootstrap 5提示框知识详解

Bootstrap 5提示框知识详解

编程小白也能轻松掌握的工具提示功能

什么是提示框(Tooltips)?

提示框是当用户将鼠标悬停在某个元素上时出现的小弹窗,用来显示额外信息或解释。

大白话版本:就像你在手机上长按图标时出现的小提示,告诉你这个图标是干嘛用的。

简单示例:

(将鼠标移到按钮上查看效果)

基础必知要点

重要前提:初始化提示框

Bootstrap的提示框默认是禁用的,需要手动开启!

这是因为页面有很多元素时,全部开启会影响性能。

初始化方法:

<script>
// 页面加载完成后初始化所有提示框
document.addEventListener(‘DOMContentLoaded’, function() {
  var tooltipList = [].slice.call(document.querySelectorAll(‘[data-bs-toggle=”tooltip”]’));
  tooltipList.map(function(el) {
    return new bootstrap.Tooltip(el);
  });
});
</script>
提示框内容从哪里来?

默认使用HTML元素的title属性作为提示框的内容

示例:<button title="提示内容">...</button>

提示框位置控制

提示框可以出现在目标元素的上、下、左、右四个方向,使用data-bs-placement属性控制

位置演示



<!– 上方提示 –>
<button data-bs-placement=”top” title=”…”>上方</button>

<!– 右侧提示 –>
<button data-bs-placement=”right” title=”…”>右侧</button>

<!– 下方提示 –>
<button data-bs-placement=”bottom” title=”…”>下方</button>

<!– 左侧提示 –>
<button data-bs-placement=”left” title=”…”>左侧</button>

高级功能与应用

1. 自定义提示框内容(支持HTML)

默认只支持纯文本,但可以开启HTML支持:

安全提示:

开启HTML支持时要小心,确保内容来自可信来源,避免XSS攻击

2. 自定义触发方式

默认触发方式是悬停(hover),可以更改为点击(click)或其他方式:

<button
  data-bs-toggle=”tooltip”
  data-bs-trigger=”click
  title=”需要点击我才会出现!”>
  点击触发提示框
</button>

3. 自定义样式

通过CSS可以完全自定义提示框的外观:

/* CSS样式 */
.custom-tooltip .tooltip-inner {
  background-color: #e91e63;
  border-radius: 8px;
  font-weight: bold;
  padding: 10px 15px;
}

/* 箭头颜色也要匹配 */
.custom-tooltip.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: #e91e63;
}

/* HTML中使用 */
<button data-bs-custom-class=”custom-tooltip” …>

常见问题与注意事项

禁用元素上的提示框

被禁用的按钮(disabled)无法触发提示框,解决方法:

  • 在外层包裹一个<div><span>
  • 对这个包裹元素应用提示框
触摸屏设备支持

在手机等触摸设备上,提示框需要特殊处理:

  • 默认悬停(hover)事件在触摸屏上无效
  • 使用data-bs-trigger="click"使提示框在触摸屏上可用
性能优化技巧

当页面有大量提示框时,考虑:

  • 在需要时才初始化提示框
  • 使用{selector: '[data-bs-toggle="tooltip"]'}委托事件
  • 避免在滚动元素内使用提示框

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部