stroke-dashoffset
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2020.
Thestroke-dashoffset attribute is a presentation attribute defining an offset on the rendering of the associated dash array.
Note:As a presentation attribute,stroke-dashoffset also has a CSS property counterpart:stroke-dashoffset. When both are specified, the CSS property takes priority.
You can use this attribute with the following SVG elements:
In this article
Example
html,body,svg { height: 100%;}html
<svg viewBox="-3 0 33 10" xmlns="http://www.w3.org/2000/svg"> <!-- No dash array --> <line x1="0" y1="1" x2="30" y2="1" stroke="black" /> <!-- No dash offset --> <line x1="0" y1="3" x2="30" y2="3" stroke="black" stroke-dasharray="3 1" /> <!-- The start of the dash array computation is pulled by 3 user units --> <line x1="0" y1="5" x2="30" y2="5" stroke="black" stroke-dasharray="3 1" stroke-dashoffset="3" /> <!-- The start of the dash array computation is pushed by 3 user units --> <line x1="0" y1="7" x2="30" y2="7" stroke="black" stroke-dasharray="3 1" stroke-dashoffset="-3" /> <!-- The start of the dash array computation is pulled by 1 user units which ends up in the same rendering as the previous example --> <line x1="0" y1="9" x2="30" y2="9" stroke="black" stroke-dasharray="3 1" stroke-dashoffset="1" /> <!-- the following red lines highlight the offset of the dash array for each line --> <path d="M0,5 h-3 M0,7 h3 M0,9 h-1" stroke="rgb(255 0 0 / 50%)" /></svg>Usage notes
| Value | <percentage> |<length> |
|---|---|
| Default value | 0 |
| Animatable | Yes |
The offset is usually expressed in user units resolved against thepathLength but if a<percentage> is used, the value is resolved as a percentage of the current viewport.
Specifications
| Specification |
|---|
| Scalable Vector Graphics (SVG) 2> # StrokeDashoffsetProperty> |
Browser compatibility
See also
- CSS
stroke-dashoffsetproperty