SVGPatternElement: patternContentUnits property
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 patternContentUnits
read-only property of the SVGPatternElement
interface reflects the patternContentUnits
attribute of the given <pattern>
element. It specifies the coordinate system for the pattern content and takes one of the constants defined in SVGUnitTypes
.
Value
An SVGAnimatedEnumeration
object.
Example
Given the following SVG:
html
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<defs>
<pattern
id="pattern1"
width="10"
height="10"
patternContentUnits="userSpaceOnUse">
<circle cx="5" cy="5" r="5" fill="blue" />
</pattern>
<pattern
id="pattern2"
width="10"
height="10"
patternContentUnits="objectBoundingBox">
<circle cx="5" cy="5" r="5" fill="red" />
</pattern>
</defs>
<rect x="0" y="0" width="100" height="100" fill="url(#pattern1)" />
<rect x="100" y="0" width="100" height="100" fill="url(#pattern2)" />
</svg>
We can access the patternContentUnits
attribute:
js
const patterns = document.querySelectorAll("pattern");
console.log(patterns[0].patternContentUnits.baseVal); // output: 1 (SVGUnitTypes.USERSPACEONUSE)
console.log(patterns[1].patternContentUnits.baseVal); // output: 2 (SVGUnitTypes.OBJECTBOUNDINGBOX)
Specifications
Specification |
---|
Scalable Vector Graphics (SVG) 2 # __svg__SVGPatternElement__patternContentUnits |