Generatore di Clip Path CSS
Con clip-path puoi ritagliare qualsiasi elemento in una forma poligonale, creando immagini sagomate, sezioni asimmetriche o fumetti senza sovrapposizioni SVG. Scrivere a mano le coordinate di polygon() è un invito agli errori di calcolo. Questo generatore produce la dichiarazione clip-path corretta per quattro forme predefinite: triangolo, rombo, trapezio ed esagono. Scegli una forma, genera il codice e copialo.
Come creare un clip-path
-
1
Scegli la forma
Scegli una delle quattro forme predefinite: triangolo, rombo, trapezio o esagono.
-
2
Genera il CSS
Clicca sul pulsante e lo strumento costruisce la regola `clip-path: polygon(...)` per la forma selezionata.
-
3
Copia la regola
Copia il risultato e incollalo nel tuo foglio di stile. Le percentuali mantengono la forma adattiva alla dimensione dell'elemento.
-
4
Leggi le coordinate
Ogni coppia di numeri è un vertice: la posizione x e y di quell'angolo come percentuale del riquadro dell'elemento.
-
5
Applicala
`clip-path` funziona su qualsiasi elemento in tutti i browser moderni e la forma si adatta alla dimensione dell'elemento.
Le cinque funzioni di forma
| Funzione | Sintassi | Uso |
|---|---|---|
inset() |
inset(10% 20% 10% 20% round 8px) |
Ritaglio rettangolare con margini interni e angoli arrotondati opzionali |
circle() |
circle(50% at 50% 50%) |
Cerchio |
ellipse() |
ellipse(40% 25% at 50% 50%) |
Ellisse |
polygon() |
polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%) |
Qualsiasi poligono |
path() |
path("M0 0 L100 0 L50 100 Z") |
Dati del percorso SVG (supporto limitato) |
Ritagli poligonali comuni
/* Esagono */
clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
/* Rombo */
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
/* Chevron / freccia che punta a destra */
clip-path: polygon(0 0, 75% 0, 100% 50%, 75% 100%, 0 100%, 25% 50%);
/* Parallelogramma */
clip-path: polygon(20% 0, 100% 0, 80% 100%, 0 100%);
/* Fetta diagonale (sezione eroe moderna) */
clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
La diagonale della sezione eroe è probabilmente la più utilizzata di tutte, conferisce a una sezione un aspetto moderno angolato senza alcun SVG.
Animare il clip-path
Il clip-path si anima finché entrambi gli stati hanno la stessa funzione di forma con lo stesso numero di punti. Un poligono a 4 vertici si anima senza problemi in un altro poligono a 4 vertici; aggiungere o rimuovere vertici interrompe l’interpolazione.
.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%); }
Usa questo per effetti di rivelazione, distorsioni sottili al passaggio del mouse o transizioni di pagina.
Clip-path vs. overflow: hidden
overflow: hidden ritaglia il rettangolo della border-box (che può essere arrotondato con border-radius). clip-path ritaglia qualsiasi forma tu definisca e ritaglia tutto, inclusi ombre e contorni. Se hai bisogno che le ombre rimangano visibili al di fuori della forma, clip-path non è ciò che desideri.
filter: drop-shadow() può riaggiungere un’ombra che segue la forma sugli elementi clip-path, ma è più lenta.
Prestazioni
Il clip-path è accelerato dalla GPU nei browser moderni, quindi i clip-path animati sono fluidi. L’eccezione è path() e poligoni molto complessi (40+ vertici) che tornano al rendering CPU su alcuni browser.
Accessibilità
Il clip-path cambia solo ciò che è visibile. I lettori di schermo, il focus da tastiera e gli eventi puntatore seguono l’intero riquadro dell’elemento, non la forma ritagliata. Se un’immagine è ritagliata in una stella, il testo alternativo viene letto normalmente. Se un pulsante è ritagliato in un chevron, il suo obiettivo di clic è il rettangolo intero, non il chevron visibile, il che può causare clic accidentali su uno spazio apparentemente vuoto.
Per pulsanti con forme ritagliate insolite, imposta la larghezza/altezza dell’elemento in modo che l’area di clic corrisponda ragionevolmente bene all’area visibile.
Domande frequenti
Tutti i browser moderni (Chrome, Firefox, Safari, Edge) supportano polygon(), circle(), ellipse() e inset(). path() è supportato in Chrome 88+, Firefox 97+ e Safari 13.1+. IE non supporta nulla di tutto ciò, ma il suo utilizzo è sotto la soglia per la maggior parte dei siti ora.
Perché clip-path ritaglia le ombre insieme a tutto il resto. Usa filter: drop-shadow() invece, segue la forma ritagliata e mantiene l’ombra visibile.
Solo tra la stessa funzione di forma con lo stesso numero di punti. Un poligono con 4 punti si anima in un altro poligono con 4 punti. Aggiungere o rimuovere punti, o cambiare tra funzioni (da poligono a cerchio), interrompe l’interpolazione.
No, gli eventi puntatore vanno ancora al rettangolo intero dell’elemento. Un pulsante a forma di stella ha un’area di clic rettangolare, inclusi gli angoli trasparenti. Considera pointer-events: none su un ::before o usa elementi di dimensioni ridotte se questo è importante.
Strumenti correlati
Riferimento Tabella ASCII
Tabella ASCII completa da 0 a 127 con decimale, esadecimale, ottale, binario e riferimento numerico HTML per ogni carattere, inclusi i codici di controllo come NUL, LF e DEL.
Generatore di lettere casuali
Genera lettere A-Z casuali. Scegli la quantità, usa maiuscole, minuscole o un mix, e applica il risultato a giochi, spunti o attività in classe.
Riferimento ai caratteri HTML
Elenco ricercabile delle entità HTML, dei loro codici nominati e numerici, e copia con un clic per caratteri e simboli speciali.
Riferimento scorciatoie da tastiera
Cerca le scorciatoie predefinite documentate di VS Code, Chrome e Bash con GNU Readline su macOS, Windows e Linux.
Trova nome colore
Trova il colore CSS standard con nome più vicino a un valore HEX, RGB o HSL usando la differenza CIEDE2000.
Generatore di Palette di Colori
Genera palette monocromatiche, analoghe, complementari, triadiche o tetradiche da un colore base HEX ed esporta variabili CSS pronte da copiare.