如何拥有不同颜色的提示工具提示?

Luc*_*lin 2 javascript tippyjs

我使用 Tippy.js 作为工具提示。我有几组带有工具提示的图标。美好的。问题:每个组应该根据图标组的容器类以不同的颜色显示工具提示。但工具提示默认在 document.body 中实例化,如果我使用appendTo选项更改父级,例如

appendTo: function(){
   // so tootips should be instantiated inside each icons group's container
   return document.getElementsByClassName('lr-tgi-optional')
}
Run Code Online (Sandbox Code Playgroud)

我收到错误(TypeError:this.options.appendTo.contains 不是函数)。

Ali*_*cia 6

我无法重现您的错误(但如果您可以分享更多代码,我将更新我的答案)。

更改不同工具提示颜色的最简单方法是为每个工具提示创建一个 CSS 类。根据Tippy Documentation,您可以使用该data-tippy-theme属性指定主题。

例如,要更改不同工具提示的背景颜色,您可以执行以下操作(请原谅我的 CSS):

tippy('.tip-blue')

tippy('.tip-red')
Run Code Online (Sandbox Code Playgroud)
div.tip{
  width: 10em;
  height: 4em;
  border: 1px solid purple;
  padding: 1em;
  margin: 1em;
}

.tippy-tooltip.blue-theme .tippy-backdrop {
  background-color: blue;
}

.tippy-tooltip.red-theme .tippy-backdrop {
  background-color: red;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://unpkg.com/tippy.js@2.0.9/dist/tippy.all.min.js"></script>

<div class="tip tip-red" data-tippy-theme="red" title="I'm a red tooltip!">
  Hover over me...
</div>

<div class="tip tip-blue"  data-tippy-theme="blue" title="And I'm a blue tooltip!">
 I have a different colored tooltip
</div>

<div class="tip tip-red" data-tippy-theme="red" title="Hello again" >
  I share the same class and theme as the first tolltip
</div>
Run Code Online (Sandbox Code Playgroud)

还有更多主题功能,例如组合类,这些都在Tippy.js 文档中进行了概述。

还值得注意的是,由于 Tippy 仅使用Popper.js,因此您还可以参考 Popper 文档以获取其他功能。