CSS-Clip-Pfad-Generator

Nächste

Mit clip-path können Sie jedes Element in eine Polygonform schneiden, um geformte Bilder, asymmetrische Hero-Bereiche oder Sprechblasen ohne SVG-Overlays zu erstellen. Das manuelle Schreiben von polygon()-Koordinaten führt leicht zu Rechenfehlern. Dieser Generator erzeugt die korrekte clip-path-Deklaration für vier vorgefertigte Formen: Dreieck, Raute, Trapez und Sechseck. Wählen Sie eine Form, erzeugen Sie das CSS und kopieren Sie es.

So erstellen Sie einen Clip-Pfad

  1. 1

    Form auswählen

    Wählen Sie eine der vier Vorgaben: Dreieck, Raute, Trapez oder Sechseck.

  2. 2

    CSS erzeugen

    Klicken Sie auf die Schaltfläche und das Tool erstellt die Regel `clip-path: polygon(...)` für die gewählte Form.

  3. 3

    Regel kopieren

    Kopieren Sie das Ergebnis und fügen Sie es in Ihr Stylesheet ein. Prozentwerte halten die Form responsiv zur Elementgröße.

  4. 4

    Koordinaten verstehen

    Jedes Zahlenpaar ist ein Eckpunkt: die x- und y-Position dieser Ecke als Prozentwert der Elementbox.

  5. 5

    Anwenden

    `clip-path` funktioniert in allen modernen Browsern auf jedem Element und die Form skaliert mit dem Element.

Die fünf Formfunktionen

Funktion Syntax Verwendung
inset() inset(10% 20% 10% 20% round 8px) Rechteckiger Clip mit Einschnitten und optionalen abgerundeten Ecken
circle() circle(50% at 50% 50%) Kreis
ellipse() ellipse(40% 25% at 50% 50%) Ellipse
polygon() polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%) Beliebiges Polygon
path() path("M0 0 L100 0 L50 100 Z") SVG-Pfad-Daten (eingeschränkte Unterstützung)

Häufige polygonale Clips

/* Sechseck */
clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);

/* Raute */
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);

/* Chevron / Pfeil nach rechts */
clip-path: polygon(0 0, 75% 0, 100% 50%, 75% 100%, 0 100%, 25% 50%);

/* Parallelogramm */
clip-path: polygon(20% 0, 100% 0, 80% 100%, 0 100%);

/* Diagonaler Schnitt (moderne Hero-Sektion) */
clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);

Der diagonale Hero-Bereich ist wahrscheinlich der am häufigsten verwendete, er verleiht einem Abschnitt diesen modernen, schrägen Look ohne SVG.

Animieren von clip-path

Clip-path animiert, solange beide Zustände die gleiche Formfunktion mit der gleichen Anzahl von Punkten haben. Ein Polygon mit 4 Eckpunkten animiert reibungslos zu einem anderen Polygon mit 4 Eckpunkten; das Hinzufügen oder Entfernen von Eckpunkten unterbricht die Interpolation.

.card { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
.card:hover { clip-path: polygon(0 5%, 100% 0, 100% 95%, 0 100%); }

Verwenden Sie dies für Enthüllungseffekte, subtile Hover-Verzerrungen oder Seitenübergänge.

Clip-path vs. overflow: hidden

overflow: hidden schneidet auf das Border-Box-Rechteck (das mit border-radius abgerundet werden kann). clip-path schneidet auf jede von Ihnen definierte Form und schneidet alles, einschließlich Schatten und Umrisse. Wenn Sie möchten, dass Schatten außerhalb der Form sichtbar bleiben, ist clip-path nicht das, was Sie wollen.

filter: drop-shadow() kann einen formverfolgenden Schatten auf clip-path-Elementen wieder hinzufügen, ist jedoch langsamer.

Leistung

Clip-path wird in modernen Browsern GPU-beschleunigt, sodass animierte clip-paths flüssig sind. Die Ausnahme sind path() und sehr komplexe Polygone (40+ Eckpunkte), die in einigen Browsern auf CPU-Rendering zurückfallen.

Barrierefreiheit

Clip-path ändert nur, was sichtbar ist. Bildschirmleser, Tastaturfokus und Zeigerereignisse folgen dem vollständigen Kasten des Elements, nicht der ausgeschnittenen Form. Wenn ein Bild in einen Stern ausgeschnitten ist, wird der Alt-Text normal gelesen. Wenn ein Button in einen Chevron ausgeschnitten ist, ist sein Klickziel das vollständige Rechteck, nicht der sichtbare Chevron, was versehentliche Klicks auf scheinbar leeren Raum verursachen kann.

Für Schaltflächen mit ungewöhnlich ausgeschnittenen Formen setzen Sie die Breite/Höhe des Elements eng, damit die Trefferfläche vernünftig mit dem sichtbaren Bereich übereinstimmt.

Häufig gestellte Fragen

Alle modernen Browser (Chrome, Firefox, Safari, Edge) unterstützen polygon(), circle(), ellipse() und inset(). path() wird in Chrome 88+, Firefox 97+ und Safari 13.1+ unterstützt. IE unterstützt nichts davon, aber die Nutzung liegt jetzt unter dem Schwellenwert für die meisten Websites.

Weil clip-path Schatten zusammen mit allem anderen ausschneidet. Verwenden Sie stattdessen filter: drop-shadow(), es folgt der ausgeschnittenen Form und hält den Schatten sichtbar.

Nur zwischen der gleichen Formfunktion mit der gleichen Anzahl von Punkten. Ein Polygon mit 4 Punkten animiert zu einem anderen Polygon mit 4 Punkten. Das Hinzufügen oder Entfernen von Punkten oder das Wechseln zwischen Funktionen (Polygon zu Kreis) unterbricht die Interpolation.

Nein, Zeigerereignisse gehen weiterhin an das vollständige Rechteck des Elements. Ein sternförmiger Button hat eine rechteckige Klickfläche, einschließlich der transparenten Ecken. Erwägen Sie pointer-events: none auf einem ::before oder verwenden Sie eng dimensionierte Elemente, wenn dies wichtig ist.

Verwandte Tools