You need to enable JavaScript to run this app. 如何在Bootstrap 4中实现卡片悬浮时展示包含另一张卡片的tooltip?
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bootstrap 4中实现卡片悬浮时展示包含另一张卡片的tooltip?

实现方案

该功能完全可以实现,Bootstrap 4原生的Tooltip组件支持插入自定义HTML内容,只需要简单配置即可达到你要的悬浮展示自定义卡片的效果。

具体操作步骤

  • 引入Tooltip依赖的JS文件
    Bootstrap 4的Tooltip功能依赖jQuery和Popper.js,你需要在已有的CSS引用之后补充以下JS引用:
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js" integrity="sha384-+YQ4JLhjyBLPDQt//I+STsc9iw4uQqACwlvpslubQzn4u2UU2UFM80nGisd026JF" crossorigin="anonymous"></script>
  • 隐藏自定义卡片内容
    把你要放在Tooltip里的自定义卡片代码放在页面任意位置,添加d-none类将其默认隐藏,同时给卡片加唯一ID方便调用,示例:
<!-- 隐藏的Tooltip自定义卡片 -->
<div class="d-none" id="tooltip-card">
  <div class="card" style="max-width:350px">
    <div class="card-body">
      <h4 class="card-title">Python for Data Science and Machine Learning Bootcamp</h4>
      <p class="card-text">
        Learn how to use NumPy, Pandas, Seaborn , Matplotlib , Plotly , Scikit-Learn , Machine Learning,
        Tensorflow , and more!
      <table>
        <tr>
          <td><i class="fas fa-check"></i>
          <td>Use Python for Data Science and Machine Learning</li>
        </tr>
        <tr>
          <td><i class="fas fa-check"></i></td>
          <td>Use Spark for Big Data Analysis</li>
          </td>
        </tr>
        <tr>
          <td><i class="fas fa-check"></i></td>
          <td>Implement Machine Learning Algorithms</li>
          </td>
        </tr>
      </table>
      </p>
      <a href="#" class="btn btn-primary">Add to Cart</a>
    </div>
  </div>
</div>
  • 初始化Tooltip
    给你的主卡片外层添加data-toggle="tooltip"属性,之后添加JS代码初始化Tooltip,开启HTML内容解析,指定内容为刚才隐藏的自定义卡片:
$(function () {
  $('[data-toggle="tooltip"]').tooltip({
    html: true, // 允许解析HTML内容
    trigger: 'hover', // 悬浮触发
    placement: 'right', // 展示在主卡片右侧,可根据需求调整为top/bottom/left
    content: function() {
      return $('#tooltip-card').html(); // 读取隐藏卡片的HTML作为Tooltip内容
    },
    boundary: 'window' // 防止Tooltip超出视口被截断
  })
})
  • 调整Tooltip默认样式
    默认Tooltip的最大宽度很窄,会挤压自定义卡片的布局,补充以下CSS即可:
/* 调整Tooltip容器宽度,适配自定义卡片 */
.tooltip {
  max-width: unset !important;
}
.tooltip .tooltip-inner {
  background: transparent;
  padding: 0;
  box-shadow: 0 2px 15px rgba(0,0,0,0.15);
}
/* 不需要Tooltip的默认箭头可以隐藏 */
.tooltip .arrow {
  display: none;
}

如果你的页面上有多个主卡片需要对应不同的Tooltip内容,可以给每个主卡片加data-tooltip-id属性绑定对应隐藏卡片的ID,在初始化的时候动态读取对应的内容即可。

内容的提问来源于stack exchange,提问作者Suny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 23:45:04