De korte versie
- Een CSS conic gradient plaatst kleuren rond een middelpunt, met de klok mee vanaf de bovenkant, in plaats van langs een lijn of in ringen naar buiten.
- Kleurstops in een conic gradient gebruiken hoeken of percentages van een volledige draai, dus 25% en 90deg betekenen dezelfde positie.
- Harde stops maken van een conic gradient segmenten, de snelste manier om in CSS een cirkeldiagram te tekenen.
- Het sleutelwoord from roteert waar de draai begint en at verplaatst het middelpunt.
- repeating-conic-gradient() herhaalt zijn stops rond de cirkel en tekent, gecombineerd met background-size, dambordpatronen en sterrenbursts.
Op deze pagina
Een CSS conic gradient laat kleur rond een middelpunt draaien, zoals een klokwijzer over zijn wijzerplaat gaat. Waar een lineair kleurverloop langs een lijn verandert en een radiaal kleurverloop naar buiten vanuit het midden, verandert conic-gradient() met de hoek. Hij begint bovenaan, loopt met de klok mee en wordt gebruikt overal waar CSS een afbeelding accepteert. Dat maakt hem het natuurlijke gereedschap voor kleurenwielen, cirkeldiagrammen, laadringen en de hoekige highlights van geborsteld metaal.
conic-gradient(#ef4444, #eab308, #22c55e, #06b6d4, #3b82f6, #a855f7, #ef4444)Kies je tussen soorten kleurverlopen voor een ontwerp in plaats van de syntaxis te leren, dan zijn soorten kleurverlopen en de ontwerpgids over conic gradients betere beginpunten.
De syntaxis van conic-gradient()
/* start angle centre stops */
conic-gradient(from 90deg at 30% 50%, #0ea5e9, #6366f1, #0ea5e9)
/* stops as angles or as percentages of the turn */
conic-gradient(#f59e0b 0deg 90deg, #1e293b 90deg)
conic-gradient(#f59e0b 0% 25%, #1e293b 25%)| Onderdeel | Voorbeeld | Standaard |
|---|---|---|
| Starthoek | from 45deg | from 0deg, recht omhoog |
| Middelpunt | at 30% 50%, at top left | at center |
| Interpolatie | in oklch, in hsl longer hue | sRGB voor hexkleuren |
| Stoppositie | 90deg, 0.25turn, 25% | gelijkmatig verdeeld over de draai |
Hoeken lopen met de klok mee vanaf de bovenkant: 90deg is drie uur, 180deg is zes. De volledige definitie staat op de conic-gradient()-pagina van MDN. Browserondersteuning is al jaren universeel in de huidige Chrome, Edge, Safari en Firefox, dus voorvoegsels zijn niet nodig.
De draai roteren en verplaatsen
from roteert het hele kleurverloop, handig als de naad tussen de eerste en laatste kleur anders bovenaan zou zitten. at verplaatst het middelpunt. Naar een hoek verplaatst wordt het wiel een waaier van stralen, en helemaal buiten het vak verplaatst geeft het een zachte schuine wassing die niets meer op een wiel lijkt.
Cirkel- en donutdiagrammen in CSS
Geef elk segment een begin en een eind en laat elk beginnen waar het vorige eindigde. 0 schrijven als tweede stoppositie is een sluiproute: een positie kleiner dan de vorige wordt eraan vastgezet, dus de nieuwe kleur begint precies waar de vorige eindigde. Rond het element af met border-radius: 50% en knip een gat met een radiaal masker om van de taart een donut te maken.
.pie {
width: 12rem;
aspect-ratio: 1;
border-radius: 50%;
background: conic-gradient(
#6366f1 0 40%, /* 40% */
#22d3ee 0 65%, /* 25% */
#f59e0b 0 85%, /* 20% */
#e2e8f0 0 /* the rest, 15% */
);
}
.donut {
/* same background as .pie, then a hole */
mask: radial-gradient(farthest-side, transparent 58%, #000 59%);
}conic-gradient(#6366f1 0 40%, #22d3ee 0 65%, #f59e0b 0 85%, #e2e8f0 0)Harde randen in conic gradients kunnen in sommige browsers iets gekarteld lijken langs de segmentlijnen. Stoort het je, laat dan een fractie van een graad tussen stops, zoals #6366f1 0 39.8%, #22d3ee 40.2% 65%, zodat de rand een haartje menging krijgt.
Kleurenwielen met tintinterpolatie
Een kleurenwiel heeft meestal zes of zeven stops nodig. Met interpolatiemethoden kun je de browser zelf de tintencirkel laten afleggen. longer hue neemt de lange weg tussen twee tinten, en als beide stops dezelfde kleur zijn is de lange weg de hele cirkel, dus twee keer rood geeft een volledig spectrum.
.wheel {
border-radius: 50%;
background: conic-gradient(in hsl longer hue, #ff0000, #ff0000);
}Metaalglans en highlights
Echt geborsteld metaal en gepolijste schijven vangen licht in hoekige banden, precies wat een conic gradient tekent. Wissel enkele lichte en donkere grijstinten af, met ongelijke tussenruimten, en het oppervlak leest als metaal. Met lage dekking over een kleur gelegd geeft hetzelfde trucje glans aan knoppen en kaarten; zie kleurverloopknoppen voor een uitgewerkt voorbeeld.
Herhalende conic gradients voor patronen
repeating-conic-gradient() herhaalt zijn stoplijst rond de draai. Korte stops met harde randen geven sterrenbursts. Gecombineerd met background-size tegelt een tweekleurig kwartpatroon tot een dambord, een patroon dat anders lastig met kleurverlopen te tekenen is. Meer in CSS-patronen.
.checkerboard {
background: repeating-conic-gradient(#e2e8f0 0 25%, #ffffff 0 50%) 0 0 / 32px 32px;
}Vragen die mensen stellen
Wat is een conic gradient in CSS?
Het is een kleurverloop waarvan de kleuren veranderen met de hoek rond een middelpunt, beginnend bovenaan en met de klok mee, geschreven met conic-gradient().
Hoe maak ik een cirkeldiagram met CSS?
Gebruik harde stops in een conic gradient, zoals conic-gradient(#6366f1 0 40%, #22d3ee 0 65%, #e2e8f0 0), op een element met border-radius: 50%. Zet de waarden ook in tekst voor schermlezers.
Hoe roteer ik een conic gradient?
Voeg from en een hoek toe als eerste argument, bijvoorbeeld conic-gradient(from 90deg, ...). De draai begint dan bij drie uur in plaats van bovenaan.
Waarom zijn de randen van mijn conic gradient gekarteld?
Harde stops hebben geen menging, en sommige browsers tekenen de grens zonder afvlakking. Een fractie van een graad tussen naburige stops verzacht het.
Werken conic gradients in alle browsers?
Ja, huidige versies van Chrome, Edge, Safari en Firefox ondersteunen conic-gradient() en repeating-conic-gradient() zonder voorvoegsels.
Geschreven door Gradiently
Het team achter Gradiently, een ontwerptool rond Marks: levende kleurverlopen die alles wat je ontwerpt op jou laten lijken.
Bekijk ons profiel


