【发布时间】:2023-03-03 04:47:02
【问题描述】:
我有 SVG 文档,可以直接在浏览器(目前是 IE 和 Firefox)中显示 - 通过将 *.svg 直接加载到浏览器中。这些文档包含我想显示为“HTML”的文本,例如在带有自动换行、下标和可能滚动的 HTML 窗口/面板中呈现。 SVG 和 HTML 格式正确,并在正确的命名空间下进行管理。
一种典型的元素(没有样式)可能是:
<svg xmlns="http://www.w3.org/2000/svg">
<g>
<rect x="100" y="200" width="300" height="400"/>
<h:p xmlns:h="http://www.w3.org/1999/xhtml">
This is an <h:i>italic</h:i> and a <h:sub>subscript</h:sub> in a ...
very long ... paragraph which will need word wrapping and maybe scrolling
</h:p>
</g>
</svg>
如果能够在给定的边界框(例如
请注意,目前我不想在 HTML 文档中嵌入 SVG,也不需要递归(例如 HTML 中没有 SVG)。
更新: 在@Sirko 的鼓励下,我在网上找到了this article,它已经有 4 年历史了。
【问题讨论】:
-
我认为如果你想让 HTML 在 IE 中工作(并且在浏览器中保持一致),你必须采用内联 SVG 路线。
-
@Erik 你的意思是 HTML 包含 SVG 包含 HTML?还是 HTML 包含 SVG 包含 refToParentHTML?如果你有例子吗?如果你这样做,请添加为答案,我会 +1
-
问题中的示例代码 sn-p 看起来可以仅使用 HTML+CSS 或带有 svg 背景图像或一些内联 svg 的 HTML 来完成。你能解释一下为什么你不想那样做吗?