fill

Das fill Attribut hat zwei verschiedene Bedeutungen. Für Formen und Text ist es ein Präsentationsattribut, das die Farbe (oder beliebige SVG-Farbdienste wie Verläufe oder Muster) definiert, die zur Darstellung des Elements verwendet wird; für Animationen definiert es den Endzustand der Animation.

Hinweis: Wenn fill als Präsentationsattribut verwendet wird, gibt es auch ein entsprechendes CSS-Attribut: fill. Wenn beide angegeben sind, hat die CSS-Eigenschaft Vorrang.

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

Das SVG-Attribut fill kann verwendet werden, um den Endzustand einer Animation mit folgenden SVG-Elementen zu definieren:

Beispiele

Grundlegende Farb- und Verlaufsfüllungen und 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>

context-fill Beispiel

In diesem Beispiel definieren wir drei Formen mit <path> Elementen, von denen jedes eine andere stroke und fill Farbe eingestellt hat. Wir definieren auch ein <circle> Element als Marker über das <marker> Element. Jede Form hat den Marker über die marker CSS-Eigenschaft angewendet.

Das <circle> hat stroke="context-stroke" und fill="context-fill" darauf eingestellt. Da es als Marker im Kontext der Formen gesetzt wird, bewirken diese Attribute, dass die fill und stroke von den <path> Elementen in jedem Fall geerbt werden.

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>

Das Ergebnis sieht wie folgt aus:

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

animate

Für <animate> definiert fill den Endzustand der Animation.

Wert freeze (Behalten Sie den Zustand des letzten Animationsrahmens) | remove (Behalten Sie den Zustand des ersten Animationsrahmens)
Standardwert remove
Animierbar Nein

animateMotion

Für <animateMotion> definiert fill den Endzustand der Animation.

Wert freeze (Behalten Sie den Zustand des letzten Animationsrahmens) | remove (Behalten Sie den Zustand des ersten Animationsrahmens)
Standardwert remove
Animierbar Nein

animateTransform

Für <animateTransform> definiert fill den Endzustand der Animation.

Wert freeze (Behalten Sie den Zustand des letzten Animationsrahmens) | remove (Behalten Sie den Zustand des ersten Animationsrahmens)
Standardwert remove
Animierbar Nein

circle

Für <circle> ist fill ein Präsentationsattribut, das die Farbe des Kreises definiert.

Wert <paint>
Standardwert black
Animierbar Ja

ellipse

Für <ellipse> ist fill ein Präsentationsattribut, das die Farbe der Ellipse definiert.

Wert <paint>
Standardwert black
Animierbar Ja

path

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

Wert <paint>
Standardwert black
Animierbar Ja

polygon

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

Wert <paint>
Standardwert black
Animierbar Ja

polyline

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

Wert <paint>
Standardwert black
Animierbar Ja

rect

Für <rect> ist fill ein Präsentationsattribut, das die Farbe des Rechtecks definiert.

Wert <paint>
Standardwert black
Animierbar Ja

set

Für <set> definiert fill den Endzustand der Animation.

Wert freeze (Behalten Sie den Zustand des letzten Animationsrahmens) | remove (Behalten Sie den Zustand des ersten Animationsrahmens)
Standardwert remove
Animierbar Nein

text

Für <text> ist fill ein Präsentationsattribut, das die Farbe des Textes definiert.

Wert <paint>
Standardwert black
Animierbar Ja

textPath

Für <textPath> ist fill ein Präsentationsattribut, das die Farbe des Textes definiert.

Wert <paint>
Standardwert black
Animierbar Ja

tspan

Für <tspan> ist fill ein Präsentationsattribut, das die Farbe des Textes definiert.

Wert <paint>
Standardwert black
Animierbar Ja

Spezifikationen

Specification
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 fill Eigenschaft