Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

spreadMethod

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.

Das Attribut spreadMethod bestimmt, wie eine Form über die festgelegten Grenzen eines Farbverlaufs hinaus gefüllt wird.

Sie können dieses Attribut mit den folgenden SVG-Elementen verwenden:

Beispiele

spreadMethod bei linearen Farbverläufen

SVG

html
<svg width="220" height="150" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <linearGradient id="PadGradient" x1="33%" x2="67%">
      <stop offset="0%" stop-color="fuchsia" />
      <stop offset="100%" stop-color="orange" />
    </linearGradient>
    <linearGradient
      id="ReflectGradient"
      spreadMethod="reflect"
      x1="33%"
      x2="67%">
      <stop offset="0%" stop-color="fuchsia" />
      <stop offset="100%" stop-color="orange" />
    </linearGradient>
    <linearGradient id="RepeatGradient" spreadMethod="repeat" x1="33%" x2="67%">
      <stop offset="0%" stop-color="fuchsia" />
      <stop offset="100%" stop-color="orange" />
    </linearGradient>
  </defs>

  <rect fill="url(#PadGradient)" x="10" y="0" width="200" height="40" />
  <rect fill="url(#ReflectGradient)" x="10" y="50" width="200" height="40" />
  <rect fill="url(#RepeatGradient)" x="10" y="100" width="200" height="40" />
</svg>

Ergebnis

Beachten Sie, dass das mittlere Drittel jedes Farbverlaufs gleich ist. Die äußeren Drittel zeigen den Unterschied zwischen den drei Methoden.

spreadMethod bei radialen Farbverläufen

SVG

html
<svg width="340" height="120" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <radialGradient
      id="RadialPadGradient"
      cx="75%"
      cy="25%"
      r="33%"
      fx="64%"
      fy="18%"
      fr="17%">
      <stop offset="0%" stop-color="fuchsia" />
      <stop offset="100%" stop-color="orange" />
    </radialGradient>
    <radialGradient
      id="RadialReflectGradient"
      spreadMethod="reflect"
      cx="75%"
      cy="25%"
      r="33%"
      fx="64%"
      fy="18%"
      fr="17%">
      <stop offset="0%" stop-color="fuchsia" />
      <stop offset="100%" stop-color="orange" />
    </radialGradient>
    <radialGradient
      id="RadialRepeatGradient"
      spreadMethod="repeat"
      cx="75%"
      cy="25%"
      r="33%"
      fx="64%"
      fy="18%"
      fr="17%">
      <stop offset="0%" stop-color="fuchsia" />
      <stop offset="100%" stop-color="orange" />
    </radialGradient>
  </defs>

  <rect fill="url(#RadialPadGradient)" x="10" y="10" width="100" height="100" />
  <rect
    fill="url(#RadialReflectGradient)"
    x="120"
    y="10"
    width="100"
    height="100" />
  <rect
    fill="url(#RadialRepeatGradient)"
    x="230"
    y="10"
    width="100"
    height="100" />
</svg>

Ergebnis

Verwendungshinweise

Wert pad | reflect | repeat
Initialwert pad
Animierbar Ja
pad

Dieser Wert gibt an, dass die letzte Farbe des Farbverlaufs die Form über die Grenzen des Farbverlaufs hinaus füllt.

reflect

Dieser Wert gibt an, dass sich der Farbverlauf über seine Grenzen hinaus in umgekehrter Reihenfolge wiederholt.

repeat

Dieser Wert gibt an, dass sich der Farbverlauf über seine Grenzen hinaus in der ursprünglichen Reihenfolge wiederholt.

Grenzen eines Farbverlaufs festlegen

Standardmäßig reicht ein Farbverlauf bis an die Grenzen der gefüllten Form. Um die Auswirkungen dieses Attributs zu sehen, müssen Sie den Farbverlauf kleiner als die Form festlegen.

Bei einem linearen Farbverlauf können die Grenzen durch die Attribute x1, x2, y1 und y2 als Rechteck festgelegt werden. Bei einem radialen Farbverlauf können die Grenzen durch die Attribute cx, cy und r für den äußeren Kreis sowie fx, fy und fr für den inneren Kreis festgelegt werden.

Spezifikationen

Spezifikation
Scalable Vector Graphics (SVG) 2
# LinearGradientElementSpreadMethodAttribute
Scalable Vector Graphics (SVG) 2
# RadialGradientElementSpreadMethodAttribute

Browser-Kompatibilität

svg.elements.linearGradient.spreadMethod

svg.elements.radialGradient.spreadMethod