【问题标题】:How to have tippy tooltips with different several colors?如何拥有不同颜色的提示工具提示?
【发布时间】:2018-01-22 15:56:35
【问题描述】:

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

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

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

【问题讨论】:

  • 您可以在 JS 中对tippy 进行多次不同的调用,然后在代码中识别出每一个。我过去曾为不同的组件显示不同大小的工具提示。
  • 这有帮助吗:jsfiddle.net/lissy93/tahptho0 ?
  • 您能否发布更多代码,以帮助我获得您想要的格式的解决方案?

标签: javascript tippyjs


【解决方案1】:

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

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

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

tippy('.tip-blue')

tippy('.tip-red')
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;
}
<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>

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

另外值得注意的是,由于 Tippy 只是使用 Popper.js,您还可以参考 Popper 文档了解更多功能。

【讨论】:

  • 是的,我最终已经做到了。事实上,我的解决方案不起作用的原因是 appendTo 需要一个元素,而不是一个集合。 Tippy 在 1 个元素中实例化 1 次,然后四处移动:它不会为每个带有工具提示的对象创建 1 个工具提示。所以实际上你不能声明一个容器类。
猜你喜欢
  • 1970-01-01
  • 2015-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多