clip-rule

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Das Attribut clip-rule gilt nur für Grafikelemente, die innerhalb eines <clipPath>-Elements enthalten sind. Das Attribut clip-rule funktioniert im Grunde wie das Attribut fill-rule, außer dass es auf <clipPath>-Definitionen angewendet wird.

Hinweis: Als Präsentationsattribut hat clip-rule auch ein entsprechendes CSS-Eigenschaftsgegenstück: clip-rule. Wenn beide spezifiziert sind, hat die CSS-Eigenschaft Vorrang.

Der folgende Codeausschnitt sorgt dafür, dass eine evenodd-Ausschneidungsregel auf den Ausschneidungspfad angewendet wird, da clip-rule auf dem <path>-Element angegeben ist, das die Ausschneideform definiert:

html
<g>
  <clipPath id="MyClip">
    <path d="..." clip-rule="evenodd" />
  </clipPath>
  <rect clip-path="url(#MyClip)" ... />
</g>

während der folgende Codeausschnitt keine evenodd-Ausschneidungsregel anwenden wird, da clip-rule auf dem referenzierenden Element und nicht auf dem Objekt angegeben ist, das die Ausschneideform definiert:

html
<g>
  <clipPath id="MyClip">
    <path d="..." />
  </clipPath>
  <rect clip-path="url(#MyClip)" clip-rule="evenodd" ... />
</g>

Verwendungshinweise

Wert nonzero | evenodd | inherit
Standardwert nonzero
Animierbar Ja
nonzero

Siehe Beschreibung der fill-rule-Eigenschaft.

evenodd

Siehe Beschreibung der fill-rule-Eigenschaft.

Beispiel

html
<svg
  width="100"
  viewBox="0 0 100 90"
  xmlns="http://www.w3.org/2000/svg"
  version="1.1">
  <!-- Define star path -->
  <defs>
    <path d="M50,0 21,90 98,35 2,35 79,90z" id="star" />
  </defs>

  <!-- Left: evenodd -->
  <clipPath id="emptyStar">
    <use href="#star" clip-rule="evenodd" />
  </clipPath>
  <rect clip-path="url(#emptyStar)" width="50" height="90" fill="blue" />

  <!-- Right: nonzero -->
  <clipPath id="filledStar">
    <use href="#star" clip-rule="nonzero" />
  </clipPath>
  <rect clip-path="url(#filledStar)" width="50" height="90" x="50" fill="red" />
</svg>

Elemente

Die folgenden Elemente können das Attribut clip-rule verwenden, aber nur, wenn sie sich innerhalb eines <clipPath>-Elements befinden.

Spezifikationen

Specification
CSS Masking Module Level 1
# the-clip-rule

Browser-Kompatibilität

Siehe auch