<foreignObject>
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The<foreignObject>SVG element includes elements from a different XML namespace. In the context of a browser, it is most likely (X)HTML.
In this article
Usage context
| Categories | Graphics element, Renderable element |
|---|---|
| Permitted content | Any elements or character data |
Attributes
heightThe height of the foreignObject.Value type:<length> |<percentage>;Default value:
auto;Animatable:yeswidthThe width of the foreignObject.Value type:<length> |<percentage>;Default value:
auto;Animatable:yesxThe x coordinate of the foreignObject.Value type:<length> |<percentage>;Default value:
0;Animatable:yesyThe y coordinate of the foreignObject.Value type:<length> |<percentage>;Default value:
0;Animatable:yes
Note:Starting with SVG2,x,y,width, andheight areGeometry Properties, meaning those attributes can also be used as CSS properties for that element.
DOM Interface
This element implements theSVGForeignObjectElement interface.
Example
html,body,svg { height: 100%;}<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"> <style> 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 embedded in an HTML document, the XHTML namespace could be omitted, 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>Specifications
| Specification |
|---|
| Scalable Vector Graphics (SVG) 2> # ForeignObjectElement> |