【问题标题】:Workaround for tipsy, svg and css in firefox?firefox 中醉醺醺的、svg 和 css 的解决方法?
【发布时间】:2014-05-11 00:29:08
【问题描述】:

我有 svg 元素的提示工具提示(使用 d3 生成)。我无法让它们显示在 Firefox 中的光标旁边,所以我关注了链接到这个答案Tipsy tooltip positioning on d3 in firefox, IE 中的the patch,它解决了大部分问题。

但是,我使用这个 CSS 规则围绕某些 SVG 元素创建环:

.t {
    cursor: default;
    stroke: #000000 !important;
    stroke-opacity: 0.7;
    stroke-width: 7px;
}

对于这些元素,在FF28中,tipsy是在元素左上角设置工具提示:

是否有(适度无痛的)解决方法?一种修改醉酒的方法?或者我可以使用不同的 CSS 来获得相同的效果?

【问题讨论】:

  • 我喜欢回答,但我听不懂!
  • 我看不出该 CSS 会影响位置计算的任何方式。如果有的话,工具提示应该更靠近圆圈,因为它不会影响笔画的宽度。工具提示位置不正确的元素还有什么独特之处?您对圆圈或它们的祖先使用什么样的变换?

标签: javascript css svg d3.js tipsy


【解决方案1】:

SVG 具有许多与 html 相同的属性,这通常使它看起来像是交叉兼容的,但正如我通过艰难的方式学到的那样;你会走得很远,然后就会被吓到,因为看起来简单的东西根本行不通:-)

patch you mentioned 似乎使用了“getBBox().width”,这看起来像是一个明智的补充,但最初在查看醉酒时它并没有提到官方的 SVG 支持。

所以一开始,我会说你应该使用官方支持的工具提示插件。

不过……

我看到那个补丁的原作者did a pull request没有拉进主项目,而是拉进了another person's fork

问题有评论:

"...我们应该把它放到我们的版本中,因为我们主要使用的是 Tipsy 无论如何都在 SVG 上。”

所以也许可以使用this version of tipsy by enjalot instead,因为听起来 svg 支持对他们来说很重要。

【讨论】:

  • “这个版本的醉酒由 enjalot 代替”js 帮助我解决了我在 Firefox 中的问题,感谢 Alex,但这在 IE 中不起作用。你能给我另一个解决方案,让我在 IE 中使用现有功能运行它!
  • 嗨@0MV1 我建议专门针对您的需求创建一个新问题,这样它会得到社区的更多关注。
  • 好的@Alex感谢您的回复我会创建一个新的
猜你喜欢
  • 2011-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-16
  • 1970-01-01
  • 2020-05-31
  • 1970-01-01
相关资源
最近更新 更多