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

View in English Always switch to English

fill

Das Attribut fill hat zwei unterschiedliche Bedeutungen. Bei Formen und Text ist es ein Präsentationsattribut, das die Farbe (oder einen beliebigen SVG-Paint-Server wie einen Farbverlauf oder ein Muster) festlegt, mit der das Element gefüllt wird. Bei Animationen legt es den Endzustand der Animation fest.

Hinweis: Bei Verwendung als Präsentationsattribut hat fill auch eine entsprechende CSS-Eigenschaft: fill. Wenn beide angegeben sind, hat die CSS-Eigenschaft Vorrang.

Das SVG-Präsentationsattribut fill und die CSS-Eigenschaft fill können mit den folgenden SVG-Elementen verwendet werden:

Das SVG-Attribut fill kann bei den folgenden SVG-Elementen verwendet werden, um den Endzustand der Animation festzulegen:

animate

Bei <animate> legt fill den Endzustand der Animation fest.

Wert freeze (Zustand des letzten Animationsframes beibehalten) | remove (Zustand des ersten Animationsframes beibehalten)
Standardwert remove
Animierbar Nein

animateMotion

Bei <animateMotion> legt fill den Endzustand der Animation fest.

Wert freeze (Zustand des letzten Animationsframes beibehalten) | remove (Zustand des ersten Animationsframes beibehalten)
Standardwert remove
Animierbar Nein

animateTransform

Bei <animateTransform> legt fill den Endzustand der Animation fest.

Wert freeze (Zustand des letzten Animationsframes beibehalten) | remove (Zustand des ersten Animationsframes beibehalten)
Standardwert remove
Animierbar Nein

circle

Bei <circle> ist fill ein Präsentationsattribut, das die Farbe des Kreises festlegt.

Wert <paint>
Standardwert black
Animierbar Ja

ellipse

Bei <ellipse> ist fill ein Präsentationsattribut, das die Farbe der Ellipse festlegt.

Wert <paint>
Standardwert black
Animierbar Ja

path

Bei <path> ist fill ein Präsentationsattribut, das die Farbe des Inneren der Form festlegt. (Das Innere wird durch das Attribut fill-rule oder die Eigenschaft fill-rule definiert.)

Wert <paint>
Standardwert black
Animierbar Ja

polygon

Bei <polygon> ist fill ein Präsentationsattribut, das die Farbe des Inneren der Form festlegt. (Das Innere wird durch das Attribut fill-rule oder die Eigenschaft fill-rule definiert.)

Wert <paint>
Standardwert black
Animierbar Ja

polyline

Bei <polyline> ist fill ein Präsentationsattribut, das die Farbe des Inneren der Form festlegt. (Das Innere wird durch das Attribut fill-rule oder die Eigenschaft fill-rule definiert.)

Wert <paint>
Standardwert black
Animierbar Ja

rect

Bei <rect> ist fill ein Präsentationsattribut, das die Farbe des Rechtecks festlegt.

Wert <paint>
Standardwert black
Animierbar Ja

set

Bei <set> legt fill den Endzustand der Animation fest.

Wert freeze (Zustand des letzten Animationsframes beibehalten) | remove (Zustand des ersten Animationsframes beibehalten)
Standardwert remove
Animierbar Nein

text

Bei <text> ist fill ein Präsentationsattribut, das die Farbe des Textes festlegt.

Wert <paint>
Standardwert black
Animierbar Ja

textPath

Bei <textPath> ist fill ein Präsentationsattribut, das die Farbe des Textes festlegt.

Wert <paint>
Standardwert black
Animierbar Ja

tspan

Bei <tspan> ist fill ein Präsentationsattribut, das die Farbe des Textes festlegt.

Wert <paint>
Standardwert black
Animierbar Ja

Beispiele

Einfache Farb- und Verlaufsfüllungen sowie Animation

html
<svg viewBox="0 0 300 100" xmlns="http://www.w3.org/2000/svg">
  <!-- Basic color fill -->
  <circle cx="50" cy="50" r="40" fill="pink" />

  <!-- Fill circle with a gradient -->
  <defs>
    <radialGradient id="myGradient">
      <stop offset="0%" stop-color="pink" />
      <stop offset="100%" stop-color="black" />
    </radialGradient>
  </defs>

  <circle cx="150" cy="50" r="40" fill="url(#myGradient)" />

  <!--
  Keeping the final state of an animated circle
  which is a circle with a radius of 40.
  -->
  <circle cx="250" cy="50" r="20">
    <animate
      attributeType="XML"
      attributeName="r"
      from="0"
      to="40"
      dur="5s"
      fill="freeze" />
  </circle>
</svg>

Beispiel für context-fill

In diesem Beispiel definieren wir drei Formen mithilfe von <path>-Elementen, denen jeweils unterschiedliche Farben für stroke und fill zugewiesen sind. Außerdem definieren wir ein <circle>-Element über das <marker>-Element als Marker. Der Marker wird über die CSS-Eigenschaft marker auf jede Form angewendet.

Für das <circle>-Element sind stroke="context-stroke" und fill="context-fill" festgelegt. Da es als Marker im Kontext der Formen verwendet wird, bewirken diese Attribute, dass es jeweils die für das <path>-Element festgelegten Werte von fill und stroke übernimmt.

html
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 90">
  <style>
    path {
      stroke-width: 2px;
      marker: url("#circle");
    }
  </style>
  <path d="M 10 44.64 L 30 10 L 70 10 L 90 44.64 L 70 79.28 L 30 79.28 Z"
        stroke="red" fill="orange" />
  <path d="M 100 44.64 L 80 10 L 120 10 L 140 44.64 L 120 79.28 L 80 79.28 Z"
        stroke="green" fill="lightgreen" />
  <path d="M 150 44.64 L 130 10 L 170 10 L 190 44.64 L 170 79.28 L 130 79.28 Z"
        stroke="blue" fill="lightblue" />
  <marker id="circle" markerWidth="12" markerHeight="12"
          refX="6" refY="6" markerUnits="userSpaceOnUse">
    <circle cx="6" cy="6" r="3" stroke-width="2"
            stroke="context-stroke" fill="context-fill"  />
  </marker>
</svg>

Die Ausgabe sieht wie folgt aus:

Hinweis: Elemente können auch context-stroke und context-fill verwenden, um stroke- und fill-Werte zu übernehmen, wenn sie von <use>-Elementen referenziert werden.

Spezifikationen

Spezifikation
SVG Animations Level 2
# FillAttribute
Scalable Vector Graphics (SVG) 2
# SpecifyingFillPaint

Browser-Kompatibilität

svg.elements.animate.fill

svg.elements.animateMotion.fill

svg.elements.animateTransform.fill

svg.elements.circle.fill

svg.elements.ellipse.fill

svg.elements.path.fill

svg.elements.polygon.fill

svg.elements.polyline.fill

svg.elements.rect.fill

svg.elements.set.fill

svg.elements.text.fill

svg.elements.textPath.fill

svg.elements.tspan.fill

Siehe auch

  • CSS-Eigenschaft fill