bop*_*vla 8 html xhtml html5 svg embedding
允许在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>
Run Code Online (Sandbox Code Playgroud)
......反之亦然:
<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>
Run Code Online (Sandbox Code Playgroud)
规范说(23.2,第三段)(我引用:)"如果你想在SVG中用XGML在SVG中嵌入SVG 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>
Run Code Online (Sandbox Code Playgroud)
但是所有浏览器都将body标签与HTML5 body标签合并(HTML5 body标签获取svgbody类)...这是小提琴(全屏); 内联svg中没有body标签.
我不知道为什么,我希望你能帮助我!可以通过将SVG放在不同的文件中来解决,但我不想听到它.为什么不起作用?
需要记住的一件事是,SVG文档正在XML文档中讨论SVG中的XHTML.您不是使用XML而是使用HTML.这是HTML解析器的一个功能,它以您看到的方式合并正文标记.
如果您使用的是XML解析器,则不会发生合并.要实现此目的,您需要使用application/xhtml+xml内容类型提供文档.如果您这样做,则需要修复其他问题,例如向元素添加xmlns="http://www.w3.org/1999/xhtml"属性html.
遵循罗伯特的建议要容易得多.
| 归档时间: |
|
| 查看次数: |
5421 次 |
| 最近记录: |