W3docs

CSS stroke-Eigenschaft

Wie man die CSS-Eigenschaft stroke verwendet, um den Umriss eines Elements zu zeichnen. Lesen Sie mehr über die Eigenschaft und sehen Sie die Werte mit Beispielen.

Die CSS-Eigenschaft stroke zeichnet den Umriss (die Linie) einer SVG-Form oder eines Textstücks. Während fill das Innere einer Form einfärbt, färbt stroke deren Rand — zusammen steuern sie, wie jedes SVG-Pfad-, Kreis-, Rechteck- und Textelement gezeichnet wird.

Diese Seite erklärt, was stroke bewirkt, welche Werte es akzeptiert, wie es mit verwandten stroke-Eigenschaften (Breite, Strichmuster, Linienenden) zusammenwirkt und welche häufigen Fallstricke es gibt.

Wann würde ich es verwenden?

stroke wirkt nur auf SVG-Inhalte — bei gewöhnlichen HTML-Elementen wie <div> oder <p> hat es keine Wirkung. Verwenden Sie es, wenn Sie:

  • Icons, Diagramme oder Grafiken inline mit <svg> zeichnen.
  • Eine Linie animieren, die sich "selbst zeichnet" (kombinieren Sie stroke mit stroke-dasharray und stroke-dashoffset).
  • SVG-Text umranden, ohne ihn zu füllen.

Benannte Webfarben finden Sie im Abschnitt HTML-Farben.

CSS-Eigenschaft vs. Präsentationsattribut

stroke ist besonders: Sie können es entweder als CSS-Eigenschaft oder als SVG-Präsentationsattribut direkt am Element setzen. Diese beiden Zeilen erzeugen dasselbe Ergebnis:

<!-- presentation attribute -->
<path stroke="#1c87c9" d="M5 20 l215 0" />

<!-- CSS, via a style block or stylesheet -->
<path style="stroke: #1c87c9;" d="M5 20 l215 0" />

Wenn beide vorhanden sind, gewinnt CSS: Ein Inline-style (oder jede Stylesheet-Regel) überschreibt das Präsentationsattribut. So können Sie eine Standardfarbe im Markup festlegen und sie aus CSS überschreiben — zum Beispiel beim Hover.

Info

Die Eigenschaft stroke kann sowohl als CSS-Eigenschaft als auch als Präsentationsattribut verwendet werden. Sie kann auf jedes Element angewendet werden, hat aber nur auf die folgenden Elemente eine Wirkung: <altGlyph>, <circle>, <ellipse>, <line>, <path>, <polygon>, <polyline>, <rect>, <text>, <textPath>, <tref> und <tspan>.

Ausgangswertnone
Gilt fürFormen und Textelemente.
VererbbarJa.
AnimierbarNein.
VersionSVG 1.1 Specification
DOM-SyntaxObject.stroke = "#1c87c9";

Syntax

CSS stroke-Syntax

stroke: color | url | none | context-fill | context-stroke | initial | inherit;

Beispiel der stroke-Eigenschaft:

CSS stroke-Codebeispiel

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h2>Stroke property example</h2>
    <svg height="100" width="500">
      <g fill="none">
        <path stroke="#8ebf42" d="M5 20 l215 0" />
        <path stroke="#1c87c9" d="M5 40 l215 0" />
        <path stroke="#666666" d="M5 60 l215 0" />
      </g>
    </svg>
  </body>
</html>

Ergebnis

Beispiel

Beispiel mit Formen und CSS

Sie müssen stroke nicht als Attribut schreiben — hier wird es über einen <style>-Block gesetzt und auf mehrere Formen gleichzeitig angewendet. Beachten Sie fill: none, damit nur der Umriss sichtbar ist:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .outline {
        fill: none;
        stroke: #1c87c9;
        stroke-width: 4px;
      }
      circle.outline {
        stroke: #8ebf42;
      }
    </style>
  </head>
  <body>
    <h2>Stroke from a CSS rule</h2>
    <svg height="120" width="300">
      <rect class="outline" x="10" y="10" width="100" height="100" />
      <circle class="outline" cx="220" cy="60" r="50" />
    </svg>
  </body>
</html>

Werte

WertBeschreibung
noneEs wird keine Farbe aufgetragen.
colorSetzt eine Volltonfarbe. Farbnamen, hexadezimale Farbcodes, rgb(), rgba(), hsl(), hsla() können verwendet werden.
urlEin URL-Verweis auf ein Paint-Server-Element, das einen Paint-Server definiert.
context-fillVerwendet den Wert von fill aus einem Kontextelement.
context-strokeVerwendet den Wert von stroke aus einem Kontextelement.
initialSetzt die Eigenschaft auf ihren Standardwert zurück.
inheritErbt die Eigenschaft vom übergeordneten Element.

Der Ausgangswert ist none, was bedeutet, dass eine Form ohne stroke ohne Umriss gezeichnet wird — selbst wenn stroke-width gesetzt ist.

Verwandte stroke-Eigenschaften

stroke setzt nur die Farbe des Umrisses. Um das Aussehen des Umrisses zu steuern, kombinieren Sie es mit:

Häufige Fallstricke

  • Es wird nichts angezeigt. Wenn stroke-width 0 ist (der Standardwert), ist der Umriss unsichtbar, egal welche Farbe Sie wählen. Setzen Sie immer eine Breite.
  • Die Form ist ausgefüllt. Wenn Sie nur den Umriss möchten, setzen Sie fill: none — andernfalls wird das Innere standardmäßig schwarz gefüllt.
  • Es funktioniert nicht bei einem <div>. stroke wirkt nur auf SVG-Grafiken und Textelemente: <altGlyph>, <circle>, <ellipse>, <line>, <path>, <polygon>, <polyline>, <rect>, <text>, <textPath>, <tref> und <tspan>.

Übung

Übung
Was ist der Zweck der CSS-Eigenschaft 'stroke' und wie wird sie verwendet?
Was ist der Zweck der CSS-Eigenschaft 'stroke' und wie wird sie verwendet?
Was this page helpful?