Zusammenfassung zur Nutzung der neuen `shape()`-Funktion in CSS
(css-tricks.com)- Die CSS-Funktion
shape()wird nun in Browsern auf Basis von Chromium und WebKit unterstützt - Anders als bei
path()lassen sich damit komplexe Formen definieren – mit besser lesbarer CSS-Syntax und Einheiten - Beim Erstellen komplexer Formen mit
clip-pathist eine Umsetzung auf Basis englischer Befehle statt SVG-Koordinaten möglich - Mit neuen Befehlen wie
line,arcundcurvelassen sich Linien, Kurven und Bögen kompakt formulieren shape()unterstützt derzeit Animationen nur eingeschränkt, aber dynamische Änderungen als Reaktion auf hover/focus sind möglich
Überblick
- Die CSS-Funktion
shape()wird zusammen mitclip-pathverwendet und ermöglicht komplexes Clipping von Formen im Browser - Bisher waren Grundformen wie
circle,ellipseoderpolygonmöglich, frei definierbare Formen aber nur mitpath() - Bei
path()müssen SVG-Koordinaten und -Befehle direkt eingegeben werden, was Lesbarkeit und Lernaufwand verschlechtert
Eigenschaften der shape()-Funktion
- Vektorformen lassen sich auf CSS-typische Weise aufbauen
- Der Startpunkt wird mit Richtungs-Keywords (
from top left) oder Koordinatenwerten (from 0 0) festgelegt - Die Form besteht aus einer Folge von Befehlen, z. B.
line,vline,arc,curve,smooth
Erklärung der wichtigsten Befehle
- line
- Bedeutung: Zeichnet eine Linie vom Startpunkt aus
- Verwendung: Relative Position mit dem Keyword
byangeben - Beispiel:
line by -2px 3px
- vline
- Bedeutung: Zeichnet eine vertikale Linie
- Verwendung: Absolute Position mit
to, relative Position mitbyangeben - Beispiel:
vline to 50px
- hline
- Bedeutung: Zeichnet eine horizontale Linie
- Verwendung: Absolute Position mit
to, relative Position mitbyangeben - Beispiel:
hline to 95%
- arc
- Bedeutung: Zeichnet eine elliptische Kurve
- Verwendung:
to: Endpunkt des Bogenswith: Neigungsrichtung des Bogens (horizontal/vertikal)of: Radius der Ellipse, zu der der Bogen gehört (horizontal/vertikal)
- Beispiel:
arc to 10% 50% of 1%
- curve
- Bedeutung: Zeichnet eine Bézier-Kurve
- Verwendung:
to: Endpunkt der Kurvewith: Kontrollpunkt der Kurve (zur Steuerung der Krümmung)
- Beispiel:
curve to 0% 100% with 50% 0%
- smooth
- Bedeutung: Zeichnet eine glatte Kurve (verbundene Bézier-Kurve)
- Verwendung:
to: Endpunktby: relative Koordinatewith: Kontrollpunkt
Sonstiges
shape()kann dynamisch inhover-/focus-Zuständen verändert werden- In aktuellen Browsern funktionieren
transition-Animationen derzeit nicht - Auch die Berechnungsfunktion
calc()kann verwendet werden
Noch keine Kommentare.