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

View in English Always switch to English

d

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Die d CSS-Eigenschaft definiert einen Pfad, der vom SVG <path>-Element gezeichnet werden soll. Wenn sie vorhanden ist, überschreibt sie das d-Attribut des Elements.

Hinweis: Die d-Eigenschaft gilt nur für <path>-Elemente, die in einem <svg> verschachtelt sind. Sie gilt nicht für andere SVG-Elemente noch für HTML-Elemente oder Pseudo-Elemente.

Syntax

css
/* Default */
d: none;

/* Basic usage */
d: path("m 5,5 h 35 L 20,30 z");
d: path("M 0,25 l 50,150 l 200,50 z");
d: path("M 10,5 l 90,0 -80,80 0,-60 80,80 -90,0 z");

/* Global values */
d: inherit;
d: initial;
d: revert;
d: revert-layer;
d: unset;

Werte

Der Wert ist entweder eine path()-Funktion mit einem einzigen <string>-Parameter oder das Schlüsselwort none.

none

Es wird kein Pfad gezeichnet.

path(<string>)

Eine path()-Funktion mit einem in Anführungszeichen gesetzten Daten-String. Der Daten-String definiert einen SVG-Pfad. Der SVG-Pfad-Daten-String enthält Pfadbefehle, die implizit Pixel-Einheiten verwenden. Ein leerer Pfad gilt als ungültig.

Formale Definition

Anfangswertnone
Anwendbar auf<path> element in <svg>
VererbtNein
Berechneter Wertwie angegeben
Animationstypja, wie angegeben für <basic-shape>, ansonsten nein

Formale Syntax

d = 
none |
<string>
Diese Syntax spiegelt den neuesten Standard gemäß CSS Specification wider. Möglicherweise haben nicht alle Browser jeden Teil implementiert. Siehe Browserkompatibilität für Informationen zur Unterstützung.

Beispiele

Pfaddaten angeben

Dieses Beispiel demonstriert die grundlegende Verwendung von d und wie die CSS-d-Eigenschaft Vorrang vor dem d-Attribut hat.

HTML

Wir fügen zwei identische <path>-Elemente in ein SVG ein; ihre d-Attributwerte sind "m 5,5 h 90 v 90 h -90 v -90 z", was ein 90px großes Quadrat erzeugt.

html
<svg>
  <path d="m 5,5 h 90 v 90 h -90 v -90 z" />
  <path d="m 5,5 h 90 v 90 h -90 v -90 z" />
</svg>

CSS

Mit CSS gestalten wir beide Pfade, indem wir einen schwarzen stroke und ein halbtransparentes rotes fill bereitstellen. Wir verwenden dann die d-Eigenschaft, um den Wert des SVG-d-Attributs nur für den letzten Pfad zu überschreiben. Der Browser rendert SVG-Bilder standardmäßig 300px breit und 150px hoch.

css
svg {
  border: 1px solid;
}

path {
  fill: #ff333388;
  stroke: black;
}

path:last-of-type {
  d: path(
    "M10,30 A20,20 0,0,1 50,30 A20,20 0,0,1 90,30 Q90,60 50,90 Q10,60 10,30 z"
  );
}

Ergebnisse

Der zweite <path> ist ein Herz, wie es im path()-Funktionswert der CSS-d-Eigenschaft definiert ist. Der ungestylte <path> blieb ein Quadrat, wie es im d-Attributwert seines SVGs definiert ist.

Animieren von Datenpfaden

Dieses Beispiel zeigt die Animation des d-Attributwerts.

HTML

Wir erstellen ein <svg>, das ein einzelnes <path>-Element enthält.

html
<svg>
  <path />
</svg>

CSS

Wir verwenden das d-Attribut, um ein Herz mit einem Strich durch es zu definieren. Wir verwenden CSS, um das fill, den stroke und die stroke-width dieses Pfads zu definieren und eine zweisekündige transition hinzuzufügen. Wir fügen einen :hover-Stil hinzu, der eine leicht abweichende path()-Funktion enthält; der Pfad hat die gleiche Anzahl an Datenpunkten wie der Standardzustand, was den Pfad animierbar macht.

css
svg {
  border: 1px solid;
}

path {
  d: path(
    "M10,30 A20,20 0,0,1 50,30 A20,20 0,0,1 90,30 Q90,60 50,90 Q10,60 10,30 z M90,5 L5,90"
  );
  transition: all 2s;
  fill: none;
  stroke: red;
  stroke-width: 3px;
}

svg:hover path {
  d: path(
    "M10,30 A20,20 0,0,1 50,30 A20,20 0,0,1 90,30 Q90,60 50,90 Q10,60 10,30 z M5,5 L90,90"
  );
  stroke: black;
}

Ergebnisse

Um die Animation anzusehen, fahren Sie mit der Maus über das SVG.

Spezifikationen

Specification
Scalable Vector Graphics (SVG) 2
# TheDProperty

Browser-Kompatibilität

Siehe auch