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.
Syntax
/* 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
| Anfangswert | none |
|---|---|
| Anwendbar auf | <path> element in <svg> |
| Vererbt | Nein |
| Berechneter Wert | wie angegeben |
| Animationstyp | ja, wie angegeben für <basic-shape>, ansonsten nein |
Formale Syntax
d =
none |
<string>
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.
<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.
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.
<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.
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
- SVG
dAttribut fillstrokepath()Funktion<basic-shape>Datentyp- Übersicht über CSS-Formen
- CSS-Formen Modul