SVGRectElement

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.

The SVGRectElement interface provides access to the properties of <rect> elements, as well as methods to manipulate them.

EventTarget Node Element SVGElement SVGGraphicsElement SVGGeometryElement SVGRectElement

Instance properties

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.

Instance methods

This interface doesn't implement any specific methods, but inherits methods from its parent, SVGGeometryElement.

Examples

Changing the color of an SVG rectangle

This example sets the fill color of an SVGRectElement to a random value whenever the user clicks it.

HTML

html
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <rect
    width="300"
    height="100"
    id="myrect"
    style="fill:rgb(0 0 255);stroke-width:1;stroke:rgb(0 0 0)" />
  <text x="60" y="40" fill="white" font-size="40">Click Me</text>
</svg>

JavaScript

js
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})`;
});

Result

Specifications

Specification
Scalable Vector Graphics (SVG) 2
# InterfaceSVGRectElement

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
SVGRectElement
height
rx
ry
width
x
y

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also