docs.rodeo

MDN Web Docs mirror

paint-order

{{SVGRef}} 

The paint-order attribute specifies the order that the fill, stroke, and markers of a given shape or text element are painted.

[!NOTE] As a presentation attribute, paint-order also has a CSS property counterpart: {{cssxref("paint-order")}} . When both are specified, the CSS property takes priority.

You can use this attribute with the following SVG elements:

Usage notes

Value normal | [ fill || stroke || markers ]
Default value normal
Animatable discrete

Example

<svg xmlns="http://www.w3.org/2000/svg" width="400" height="200">
  <linearGradient id="g" x1="0" y1="0" x2="0" y2="1">
    <stop stop-color="#888" />
    <stop stop-color="#ccc" offset="1" />
  </linearGradient>
  <rect width="400" height="200" fill="url(#g)" />
  <g
    fill="crimson"
    stroke="white"
    stroke-width="6"
    stroke-linejoin="round"
    text-anchor="middle"
    font-family="sans-serif"
    font-size="50px"
    font-weight="bold">
    <text x="200" y="75">stroke over</text>
    <text x="200" y="150" paint-order="stroke" id="stroke-under">
      stroke under
    </text>
  </g>
</svg>

The example would be rendered as follows:

An image showing how the paint-order example looks in a UA that supports the paint-order property.

The stroke under effect could be achieved via the following CSS property:

#stroke-under {
  paint-order: stroke;
}

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

In this article

View on MDN