<foreignObject>标签
<foreignObject>是SVG的一个子标签,这个标签中可以用于显示普通的DOM标签。也就是渲染XHTML元素。
举个例子:
<svg xmlns="http://www.w3.org/2000/svg">
<foreignObject width="120" height="50">
<body xmlns="http://www.w3.org/1999/xhtml">
<p>文字。</p>
</body>
</foreignObject>
</svg>
可以看到<foreignObject>标签里面有一个设置了xmlns="http://www.w3.org/1999/xhtml"命名空间的<body>标签,此时<body>标签及其子标签都会按照XHTML标准渲染,实现了SVG和XHTML的混合使用。
添加到<foreignObject>标签中的XHTML节点的渲染效果跟在非SVG里面的渲染效果一定,同样也支持CSS样式,但必须是内联样式。chrome浏览器能支持style标签里面定义的样式。
SVG转Base64
var svg = new Blob([svgString], {
type: "image/svg+xml;charset=utf-8"});