This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The SVGRectElement interface provides access to the properties of <rect> elements, as well as methods to manipulate them.
This interface also inherits properties from its parent, SVGGeometryElement.
SVGRectElement.x Read only
Returns an SVGAnimatedLength corresponding to the x attribute of the given <rect> element.
SVGRectElement.y Read only
Returns an SVGAnimatedLength corresponding to the y attribute of the given <rect> element.
SVGRectElement.width Read only
Returns an SVGAnimatedLength corresponding to the width attribute of the given <rect> element.
SVGRectElement.height Read only
Returns an SVGAnimatedLength corresponding to the height attribute of the given <rect> element.
SVGRectElement.rx Read only
Returns an SVGAnimatedLength corresponding to the rx attribute of the given <rect> element.
SVGRectElement.ry Read only
Returns an SVGAnimatedLength corresponding to the ry attribute of the given <rect> element.
This interface doesn't implement any specific methods, but inherits methods from its parent, SVGGeometryElement.
This example sets the fill color of an SVGRectElement to a random value whenever the user clicks it.
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect width="300" height="100" id="myrect" /> <text x="60" y="40" fill="white" font-size="40">Click Me</text> </svg>
#myrect {
fill: blue;
stroke-width: 1;
stroke: black;
}
const myRect = document.querySelector("#myrect");
myRect.addEventListener("click", () => {
const r = Math.floor(Math.random() * 255);
const g = Math.floor(Math.random() * 255);
const b = Math.floor(Math.random() * 255);
myRect.style.fill = `rgb(${r} ${g} ${b})`;
});
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
SVGRectElement |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
height |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
rx |
1 | 12 | 1.5 | ≤12.1 | 4 | 18 | 4 | ≤12.1 | 3.2 | 1.0 | 3 | 3.2 |
ry |
1 | 12 | 1.5 | ≤12.1 | 4 | 18 | 4 | ≤12.1 | 3.2 | 1.0 | 3 | 3.2 |
width |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
x |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
y |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SVGRectElement