Den clip-path
ejendom i CSS kan du angive en specifik region af et element til visning, med resten bliver skjult (eller ”klippet”) væk.
.clip-me ( /* Example: clip away the element from the top, right, bottom, and left edges */ clip-path: inset(10px 20px 30px 40px); /* or "none" */ /* Example: clip element into a Heptagon */ clip-path: polygon(50% 0%, 90% 20%, 100% 60%, 75% 100%, 25% 100%, 0% 60%, 10% 20%); /* Deprecated version */ position: absolute; /* absolute or fixed positioning required */ clip: rect(110px, 160px, 170px, 60px); /* or "auto" */ /* values descript a top/left point and bottom/right point */ )
Der plejede at være en clip
ejendom, men bemærk, at den er udfaset.
Den mest almindelige brugssag ville være et billede, men det er ikke begrænset til det. Du kan lige så let anvende clip-path
på et afsnitstag og kun en del af teksten.
I'll be clipped.
Disse fire værdier i inset()
(i CSS ovenfor) repræsenterer det øverste / venstre punkt og det nederste / højre punkt, som danner det synlige rektangel. Alt uden for det rektangel er skjult.
Andre mulige værdier:
.clip-me ( /* referencing path from an inline SVG */ clip-path: url(#c1); /* referencing path from external SVG */ clip-path: url(path.svg#c1); /* polygon */ clip-path: polygon(5% 5%, 100% 0%, 100% 75%, 75% 75%, 75% 100%, 50% 75%, 0% 75%); /* circle */ clip-path: circle(30px at 35px 35px); /* ellipse */ clip-path: ellipse(65px 30px at 125px 40px); /* inset-rectangle() may replace inset() ? */ /* rectangle() coming in SVG 2 */ /* rounded corners… not sure if a thing anymore */ clip-path: inset(10% 10% 10% 10% round 20%, 20%); )
Eksempel på SVG-klipsti:
Det er meget underligt, at clip-path
det ikke understøttede path()
funktionen ud af porten, da path()
det allerede er en ting for ejendomme som motion-path
. Firefox har dog støtte til det nu, og vi venter på resten af browserne. Se en indledende implementering af klipsti: sti ();
Lav din egen
Indtil vi pålideligt kan bruge path()
, er de mest nyttige klip til smarte tilpassede former polygon()
. Her er en rigtig pæn redaktør for dem fra Mads Stoumann (som også fungerer for cirkler og ellipser):
Mere information
- Klipning og maskering i CSS
- klip-sti på WPD
- klip-sti på MDN
- Clippy: Bennett Feelys clip-path maker
- Klipning og maskering på MDN
- Den (forældede) CSS-klipegenskab (imponerende webs)
- Specifikation for CSS-maskering
- CSS Masking af Dirk Schulze
- Klipning i CSS og SVG - Klipstien Property and Element af Sara Soueidan
- Kuglepen tagget klipsti på CodePen
- Demoer og browser understøtter demo Pen fra Yoksel
- SVG Masker af Jakob Jenkov
- Alan Greenblatts forskning om browsersupportniveauer til klipning og maskeringsfunktioner
Browsersupport
Denne browsersupportdata er fra Caniuse, som har flere detaljer. Et tal angiver, at browseren understøtter funktionen i den version og opefter.
Desktop
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
91 | 54 | Ingen | 88 | TP * |
Mobil / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 14,0-14,4 * |