允许在 HTML 中嵌入 SVG...
<!DOCTYPE html>
<html lang="en">
<head>
<title>Hmmm....</title>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" width="500px" height="100%">
<text>Hello cruel world!</text>
</svg>
</body>
</html>
...反之亦然:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" width="500px" height="100%">
<foreignObject x="0" y="0" width="100%" height="100%">
<body xmlns="http://www.w3.org/1999/xhtml">
<h1>Goodbye cruel world...</h1>
</body>
</foreignObject>
</svg>
规格say(23.2,第三段)(我引用:)“如果你想将 SVG 嵌入 XHTML in SVG in XHTML in SVG,那没问题......”。我想哇,太深了!并这样做了:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Yeah!</title>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" width="500px" height="100%">
<foreignObject x="0" y="0" width="100%" height="100%">
<body class="svgbody" xmlns="http://www.w3.org/1999/xhtml">
<h1>And hello again!</h1>
</body>
</foreignObject>
</svg>
</body>
</html>
但是所有浏览器都将 body 标签与 HTML5 body 标签合并(HTML5 body 标签获取 svgbody 类)...这是fiddle (全屏);内联 svg 中没有 body 标签。
我不知道为什么,希望您能帮帮我!可以通过将 SVG 放入不同的文件中来解决这个问题,但我不想听到它。为什么不起作用?
需要记住的一件事是,SVG 文档正在 XML 文档中讨论 SVG 中的 XHTML。您使用的不是 XML,而是 HTML。这是 HTML 解析器的一项功能,可以按照您所看到的方式合并正文标记。
如果您使用 XML 解析器,则不会发生这种合并。为了实现这一点,您需要使用application/xhtml+xml
内容类型。如果您这样做了,那么您需要解决其他问题,例如添加xmlns="http://www.w3.org/1999/xhtml"
归因于你的html
元素。
遵循 Robertc 的建议要容易得多。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)