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 vorhanden, ü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 zitierten Daten-String Parameter. Der Daten-String definiert einen SVG-Pfad. Der SVG-Pfad-Daten-String enthält Pfadbefehle, die implizit Pixeleinheiten verwenden. Ein leerer Pfad wird als ungültig betrachtet.

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

Spezifizieren von Pfaddaten

Dieses Beispiel zeigt den grundlegenden Anwendungsfall von d und wie die CSS-d-Eigenschaft den d-Attributwert überschreibt.

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 Quadrat erstellt.

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 stylen wir beide Pfade, indem wir einen schwarzen stroke und eine halbtransparente rote fill bereitstellen. Dann verwenden wir 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 als 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 CSS d Eigenschaftswert der path() Funktion definiert ist. Der ungestylte <path> bleibt ein Quadrat, wie im SVG d Attributwert definiert.

Animieren von Pfaddaten

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 hindurch zu definieren. Wir verwenden CSS, um die fill, stroke und stroke-width dieses Pfads zu definieren und fügen einen zweisekündigen transition hinzu. Wir fügen einen :hover Stil hinzu, der eine leicht unterschiedliche path() Funktion enthält; der Pfad hat die gleiche Anzahl von 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 zu sehen, bewegen Sie die Maus über das SVG.

Spezifikationen

Specification
Scalable Vector Graphics (SVG) 2
# TheDProperty

Browser-Kompatibilität

Siehe auch