<pattern>
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.
* Some parts of this feature may have varying levels of support.
The<pattern>SVG element defines a graphics object which can be redrawn at repeated x- and y-coordinate intervals ("tiled") to cover an area.
The<pattern> is referenced by thefill and/orstroke attributes on othergraphics elements to fill or stroke those elements with the referenced pattern.
In this article
Usage context
| Categories | Container element |
|---|---|
| Permitted content | Any number of the following elements, in any order: Animation elements Descriptive elements Gradient elements Shape elements Structural elements <a>,<clipPath>,<filter>,<foreignObject>,<image>,<marker>,<mask>,<script>,<style>,<switch>,<text>,<view> |
Attributes
heightThis attribute determines the height of the pattern tile.Value type:<length>;Default value:
0;Animatable:yeshrefThis attribute reference a template pattern that provides default values for the
<pattern>attributes.Value type:<URL>;Default value:none;Animatable:yespatternContentUnitsThis attribute defines the coordinate system for the contents of the
<pattern>.Value type:userSpaceOnUse|objectBoundingBox;Default value:userSpaceOnUse;Animatable:yesNote:This attribute has no effect if a
viewBoxattribute is specified on the<pattern>element.patternTransformThis attribute contains the definition of an optional additional transformation from the pattern coordinate system onto the target coordinate system.Value type:<transform-list>;Default value:identity transform;Animatable:yes
patternUnitsThis attribute defines the coordinate system for attributes
x,y,width, andheight.Value type:userSpaceOnUse|objectBoundingBox;Default value:objectBoundingBox;Animatable:yespreserveAspectRatioThis attribute defines how the SVG fragment must be deformed if it is embedded in a container with a differentaspect ratio.Value type: (
none|xMinYMin|xMidYMin|xMaxYMin|xMinYMid|xMidYMid|xMaxYMid|xMinYMax|xMidYMax|xMaxYMax) (meet|slice)?;Default value:xMidYMid meet;Animatable:yesviewBoxThis attribute defines the bound of the SVG viewport for the pattern fragment.Value type:<list-of-numbers>;Default value: none;Animatable:yes
widthThis attribute determines the width of the pattern tile.Value type:<length>;Default value:
0;Animatable:yesxThis attribute determines the x coordinate shift of the pattern tile.Value type:<length>;Default value:
0;Animatable:yesxlink:hrefDeprecatedThis attribute references a template pattern that provides default values for the
<pattern>attributes.Value type:<URL>;Default value:none;Animatable:yesNote:For browsers implementing
href, if bothhrefandxlink:hrefare set,xlink:hrefwill be ignored and onlyhrefwill be used.yThis attribute determines the y coordinate shift of the pattern tile.Value type:<length>;Default value:
0;Animatable:yes
DOM Interface
This element implements theSVGPatternElement interface.
Examples
html,body,svg { height: 100%;}<svg viewBox="0 0 230 100" xmlns="http://www.w3.org/2000/svg"> <defs> <pattern viewBox="0,0,10,10" width="10%" height="10%"> <polygon points="0,0 2,5 0,10 5,8 10,10 8,5 10,0 5,2" /> </pattern> </defs> <circle cx="50" cy="50" r="50" fill="url(#star)" /> <circle cx="180" cy="50" r="40" fill="none" stroke-width="20" stroke="url(#star)" /></svg>Specifications
| Specification |
|---|
| Scalable Vector Graphics (SVG) 2> # PatternElement> |