foreignObject
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
SVG中的 <foreignObject>
元素允许包含来自不同的 XML 命名空间的元素。在浏览器的上下文中,很可能是 XHTML / HTML。
示例
html
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<style>
polygon {
fill: black;
}
div {
color: white;
font: 18px serif;
height: 100%;
overflow: auto;
}
</style>
<polygon points="5,5 195,10 185,185 10,195" />
<!-- Common use case: embed HTML text into SVG -->
<foreignObject x="20" y="20" width="160" height="160">
<!--
In the context of SVG embeded into HTML, the XHTML namespace could
be avoided, but it is mandatory in the context of an SVG document
-->
<div xmlns="http://www.w3.org/1999/xhtml">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mollis mollis
mi ut ultricies. Nullam magna ipsum, porta vel dui convallis, rutrum
imperdiet eros. Aliquam erat volutpat.
</div>
</foreignObject>
</svg>
属性
height
-
设置 foreignObject 的高度。 值得类型:<length>|<percentage> ; 默认值:
auto
; 是否可设置动画: yes width
-
设置 foreignObject 的宽度。 值得类型:<length>|<percentage> ; 默认值:
auto
; 是否可设置动画: yes x
-
设置 foreignObject 的 x 坐标。 值得类型:<length>|<percentage> ; 默认值:
0
; 是否可设置动画: yes y
-
设置 foreignObject 的 y 坐标。 值得类型:<length>|<percentage> ; 默认值:
0
; 是否可设置动画: yes
备注: 从 SVG2 开始,x、y、宽度和高度都是几何属性,这意味着这些属性也可以用作该元素的 CSS 属性。
使用上下文
类别 | 无 |
---|---|
允许的内容 | 任意元素或字符数据 |
规范
Specification |
---|
Scalable Vector Graphics (SVG) 2 # ForeignObjectElement |
浏览器兼容性
BCD tables only load in the browser