HTML5支持<svg>标记,允许将SVG嵌入到HTML中.
深入挖掘,我可以在<svg>片段中嵌入一些HTML 吗?例如,我想<table>在我的SVG图形的某些部分放置一个CSS .
我做了一个小测试,Chrome12不喜欢<p>里面的HTML <svg>.是否有一些技术可以使它工作(例如可能是一个html容器标签?)?
mat*_*uds 14
复制自bl.ocks.org(谢谢Janu Verma)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML inside SVG</title>
<style type="text/css"></style></head>
<body>
<div>I'm a div inside the HTML</div>
<svg width="500" height="300" style="border:1px red solid" xmlns="http://www.w3.org/2000/svg">
<foreignobject class="node" x="46" y="22" width="100" height="100">
<div style="border:1px green solid">I'm a div inside a SVG.</div>
</foreignobject>
<circle cx="100" cy="160" r="50" fill="blue"></circle>
</svg>
<div>Interesting! But you a Foreign Object.</div>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
更新
请注意,上面有一个“骆驼错误” - 它应该是foreignObject(大写O),而不是foreignobject。如果拼写错误出现在“直接”HTML/SVG 中也没关系。但如果您使用 JavaScript ( .createElementNS),那么如果没有正确的驼峰式大小写,它将无法工作(2020 年 4 月)