1

这是一个演示 SVG 文件。请使用 Firefox 进行查看,因为目前它似乎是唯一正确显示的浏览器。

任务是构建一个纯 SVG 文档(例如,不是嵌入 html 的),它能够仅使用 CSS 功能(没有 JS 也没有:before/:after伪元素)显示工具提示。我设法通过使用HTML foreignObject元素来实现这一点。

但是,我找不到是否可以在不使用 JavaScript 并且不将 SVG 文件本身嵌入到其他文档中的情况下,将此类元素与其他文档内 SVG 对象相关(例如,左侧和顶部 10px)定位格式(例如 HTML)。

在文件的最终版本中将有 20-30 多个工具提示,因此最好避免手动定位。我希望有一些东西可以将它们“附加”到其他对象(使用它们的 ID)或至少附加到它们的父对象,但我的搜索结果只返回有关 JS 或 HTML 实现的文档和问题。

添加。笔记:

1) 仅 CSS SVG 文件是必需的,因为该文件旨在用于 wiki 站点,该站点禁止包含 javascript 的 SVG。

2)如果我理解正确,在HTML foreignObject元素中显示 HTML 格式不是 SVG 用户代理(ia 网络浏览器)的当前 SVG 标准要求。但是,Firefox 似乎可以正确显示它们,我宁愿利用这个(甚至不完全支持)机会。如果我错过了一些更简单的方法来实现同样的目标——请告诉他们。

3) SVG 代码备份:pastebin

4

1 回答 1

0

不幸的是,仅使用 CSS 无法实现此效果,因为 SVG 中的位置是属性,而不是样式。

于 2013-05-22T09:49:27.907 回答