Creating Blob Shapes using clip‐path: shape() - lemuelmgsn/ako GitHub Wiki
Creating Blob Shapes using clip-path: shape()
Link: https://frontendmasters.com/blog/creating-blob-shapes-using-clip-path-shape/
Waar gaat de blogpost over?
In dit artikel laat Temani Afif zien hoe je met de nieuwe CSS-functie shape()
en het clip-path
-attribuut vloeiende, organische blob-vormen kunt creëren. Door gebruik te maken van Bézier-curves (curve
-commando's) en wiskundige berekeningen, kunnen ontwikkelaars responsieve en geanimeerde vormen maken zonder afhankelijk te zijn van SVG of JavaScript.
Wat heb ik geleerd?
- Gebruik van het
curve
-commando: Metcurve
kunnen Bézier-curves worden getekend tussen punten, wat essentieel is voor het creëren van vloeiende blob-vormen. - Geometrie van blobs: Door punten rondom een cirkel te plaatsen en deze willekeurig naar binnen te verplaatsen, ontstaan unieke blob-vormen. Extra punten tussen deze hoofdpunten zorgen voor gladde overgangen.
- Responsieve en geanimeerde vormen: De gegenereerde blob-vormen zijn responsief en kunnen eenvoudig worden geanimeerd door de
clip-path
-waarde te veranderen, zolang de structuur van deshape()
consistent blijft. - Beperkte browserondersteuning: Op het moment van schrijven wordt
shape()
alleen ondersteund in moderne versies van Chrome, Edge en Safari. Het is belangrijk om de compatibiliteit te controleren voordat je deze functie in productie gebruikt. - CSS Tools: Temani verwijst naar twee handige tools:
- CSS Shapes
- CSS Generators
Deze websites maken het makkelijk om kant-en-klare
clip-path
blobs te genereren en de CSS-code direct te kopiëren.
Voorbeeldcode
.blob {
clip-path: shape(
from 50% 0%,
curve to 100% 50% with 75% 25%,
curve to 50% 100% with 75% 75%,
curve to 0% 50% with 25% 75%,
curve to 50% 0% with 25% 25%
);
}
In dit voorbeeld worden vier Bézier-curves gedefinieerd die samen een blob-vorm creëren.
Wat vind ik interessant?
Het gebruik van shape()
in combinatie met clip-path
opent nieuwe mogelijkheden voor het creëren van complexe en vloeiende vormen met pure CSS. Het feit dat deze vormen responsief zijn en eenvoudig kunnen worden geanimeerd zonder externe hulpmiddelen, maakt dit een krachtige toevoeging aan de CSS-toolkit.
Bovendien zijn de websites van Temani (CSS Shapes en CSS Generators) erg handig om snel mooie blob-vormen te genereren zonder ze zelf handmatig te schrijven.
Wat betekent dit voor mijn ontwikkeling?
Deze techniek moedigt me aan om creatiever te zijn met CSS en te experimenteren met nieuwe functies zoals shape()
. Hoewel de browserondersteuning momenteel beperkt is, biedt het veel potentieel voor toekomstig gebruik in interactieve en visueel aantrekkelijke webontwerpen. Ook zal ik vaker gebruik maken van tools als CSS Shapes en CSS Generators om sneller te prototypen met mooie vormen.