stroke-dashoffset
{{SVGRef}}
The stroke-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:{{cssxref("stroke-dashoffset")}}
. When both are specified, the CSS property takes priority.
You can use this attribute with the following SVG elements:
{{SVGElement('circle')}}
{{SVGElement('ellipse')}}
{{SVGElement('path')}}
{{SVGElement('line')}}
{{SVGElement('polygon')}}
{{SVGElement('polyline')}}
{{SVGElement('rect')}}
{{SVGElement('text')}}
{{SVGElement('textPath')}}
{{SVGElement('tref')}}
{{SVGElement('tspan')}}
Example
html,
body,
svg {
height: 100%;
}
<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>
{{EmbedLiveSample("Example", '100%', 200)}}
Usage notes
Value | <percentage> | <length> |
---|---|
Default value | 0 |
Animatable | Yes |
The offset is usually expressed in user units resolved against the {{SVGAttr('pathLength')}}
but if a <percentage> is used, the value is resolved as a percentage of the current viewport.
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
- CSS
{{cssxref("stroke-dashoffset")}}
property