Code

SVG

Stroke & Fill

Beginner Painting attributes: fill, stroke, stroke-dasharray, stroke-linecap, stroke-linejoin, fill-opacity, and fill-rule. MDN stroke

stroke-dasharraysolid8,42,612,3,3,3stroke-linecapbuttroundsquarestroke-linejoinmiterroundbevelfill-opacity & fill-ruleopacityevenodd star
<!-- stroke-dasharray: on, off, ... -->
<line stroke-dasharray="8,4"/>
<line stroke-dasharray="12,3,3,3"/>

<!-- stroke-linecap -->
<line stroke-linecap="butt"/>
<line stroke-linecap="round"/>
<line stroke-linecap="square"/>

<!-- stroke-linejoin -->
<polyline stroke-linejoin="miter"/>
<polyline stroke-linejoin="round"/>
<polyline stroke-linejoin="bevel"/>

<!-- stroke-miterlimit -->
<polyline stroke-miterlimit="4"/>

<!-- fill-opacity -->
<rect fill="#4f46e5"
      fill-opacity="0.5"/>

<!-- fill-rule: nonzero | evenodd -->
<polygon
  points="180,230 192,263 ..."
  fill="#8b5cf6"
  fill-rule="evenodd"/>

<!-- stroke-opacity -->
<rect stroke="#000"
      stroke-opacity="0.3"
      stroke-width="4"/>

<!-- Animate dash offset for draw effect -->
<path stroke-dasharray="500"
      stroke-dashoffset="500">
  <animate attributeName="stroke-dashoffset"
           from="500" to="0"
           dur="2s" fill="freeze"/>
</path>
Key Attributes
  • stroke-dasharray — comma/space list of dash and gap lengths (repeating pattern)
  • stroke-dashoffset — shift start of dash pattern; animating it creates a "draw" effect
  • stroke-linecapbutt | round | square — cap style at line endpoints
  • stroke-linejoinmiter | round | bevel — join style at path corners
  • stroke-miterlimit — max miter ratio before falling back to bevel
  • fill-opacity / stroke-opacity — transparency 0–1
  • fill-rulenonzero | evenodd — which areas are "inside" a self-intersecting path