De korte versie
- Een CSS radial gradient spreidt kleur vanuit een middelpunt naar buiten en schrijf je met de functie radial-gradient(), overal waar CSS een afbeelding accepteert.
- Standaard is een radial gradient een ellips, gecentreerd in het vak, met een formaat dat tot de verste hoek reikt.
- De formaatwoorden closest-side, closest-corner, farthest-side en farthest-corner bepalen waar de laatste kleurstop landt.
- Het woord at verplaatst het middelpunt, bijvoorbeeld at 20% 30%, en posities werken zoals background-position.
- Meerdere radial gradients die naar transparant vervagen op elkaar leggen is de standaardmanier om in CSS zachte gloeden en mesh-achtige achtergronden te bouwen.
Op deze pagina
Een CSS radial gradient laat kleur vanuit een punt naar buiten overlopen, zoals licht dat uit een lamp straalt. Je schrijft hem met radial-gradient() en gebruikt hem overal waar CSS een afbeelding neemt, meestal background-image. Zonder opties tekent hij een ellips midden in het vak die de verste hoek raakt: radial-gradient(#fef3c7, #b45309) geeft een bleek midden dat uitgloeit naar diep amber.
radial-gradient(#fef3c7, #f59e0b 45%, #78350f)Al het andere in de functie verandert een van drie dingen: de vorm, het formaat en de positie. Beheers je die, dan tekent dezelfde functie gloeden, spotlights, vignetten, zonnestralen en de kleurpoelen achter een mesh gradient in CSS. Voor de ontwerpkant van radiale overlopen staat er een aanvullende gids over radiale kleurverlopen.
De syntaxis van radial-gradient()
/* shape size position stops */
radial-gradient(circle closest-side at 30% 40%, #fde047, #ea580c 60%, #1c1917)
/* everything before the first comma is optional */
radial-gradient(#fde047, #ea580c)| Onderdeel | Waarden | Standaard |
|---|---|---|
| Vorm | circle of ellipse | ellipse |
| Formaat | een formaatwoord, één lengte voor een cirkel, of twee lengtes of percentages voor een ellips | farthest-corner |
| Positie | at gevolgd door alles wat background-position accepteert | at center |
| Interpolatie | in oklab, in oklch en andere kleurruimtes | sRGB voor hexkleuren |
| Kleurstops | twee of meer kleuren met optionele posities | verplicht |
Eén regel verrast mensen: het formaat van een cirkel moet een lengte zijn, zoals 200px, nooit een percentage, omdat een percentage van een rechthoek geen enkele straal heeft. Ellipsen accepteren wel percentages, zoals in ellipse 60% 40%. De MDN-referentie voor radial-gradient() geeft de volledige grammatica.
Cirkel of ellips
Een ellips rekt mee met het vak: op een brede banner is de gloed breed en op een hoge story is hij hoog. Een cirkel blijft rond, wat het vak ook doet. Gebruik ellipsen voor achtergronden die hun container gelijkmatig moeten vullen, en cirkels voor alles wat als lichtbron, planeet of gloed van een knop moet lezen.
Formaatwoorden: van closest-side tot farthest-corner
Het formaat bepaalt waar de laatste kleurstop landt, en dus waar de eindvorm van de gradient zit. De vier woorden meten vanaf het middelpunt tot de dichtstbijzijnde of verste zijde of hoek van het vak. Ze zien er alleen anders uit als het middelpunt niet in het midden ligt, dus alle voorbeelden hieronder beginnen op 30% 40%.
In de praktijk past closest-side bij afgebakende vormen zoals stippen en badges, omdat de kleur nooit over de dichtstbijzijnde rand loopt. farthest-corner past bij achtergronden, omdat de overloop het hele vak bedekt. Heb je exacte controle nodig, geef dan een lengte: circle 180px at 50% 0 is een gloed van 180 pixels die aan de bovenrand hangt.
Positioneren met at
Het woord at plaatst het middelpunt met dezelfde waarden als background-position: woorden zoals at top right, percentages zoals at 20% 80% of lengtes zoals at 40px 60px. Het middelpunt kan zelfs buiten het vak liggen, zoals in at 50% 120%, wat een horizongloed geeft die onder de onderrand oprijst.
Gelaagde radiale gloeden
Het nuttigste radiale patroon is een stapel gradients in één background-image, elk vervagend naar transparent, boven een egale donkere kleur. Elke laag is een poel licht op een eigen plek. Omdat de eerste laag bovenop wordt geschilderd, zet je de helderste, kleinste gloed eerst.
.glow {
background-color: #0b0a1a;
background-image:
radial-gradient(circle at 20% 25%, rgb(124 58 237 / 0.55), transparent 45%),
radial-gradient(circle at 80% 30%, rgb(236 72 153 / 0.45), transparent 40%),
radial-gradient(ellipse at 50% 110%, rgb(56 189 248 / 0.4), transparent 60%);
}Twee andere patronen dekken de meeste overige klussen. Een vignet maakt de randen donkerder: radial-gradient(ellipse, transparent 55%, rgb(0 0 0 / 0.55)) over een foto gelegd. Een spotlight volgt de aanwijzer als je de positie uit custom properties haalt, zoals radial-gradient(circle 240px at var(--x) var(--y), rgb(255 255 255 / 0.15), transparent), met een paar regels JavaScript die --x en --y zetten bij pointermove.
Herhalende radiale gradients
repeating-radial-gradient() herhaalt zijn stops naar buiten tot het vak vol is, zodat een paar harde stops ringen wordt. Gebruik lengtes voor de stopposities zodat de ringbreedte gelijk blijft. Het is de basis van rimpel-, schietschijf- en halftoonachtige texturen, en de gids over CSS-patronen heeft meer.
Vermijd
- Percentages voor het formaat van een cirkel, die ongeldig zijn
- Heldere gloeden die op een harde rand eindigen omdat de laatste stop dekkend is
- Elke gloed centreren op 50% 50%
- Vijf overlappende gloeden van gelijke sterkte
Doe
- Lengtes voor cirkels, percentages voor ellipsen
- Laat elke gloed vervagen naar
transparent - Plaats gloeden uit het midden, bij hoeken of onder de rand
- Eén dominante gloed en een of twee rustigere
Vragen die mensen stellen
Hoe maak ik een cirkelvormig kleurverloop in CSS?
Gebruik radial-gradient(circle, kleur1, kleur2). Met circle blijft de vorm rond; zonder krijg je een ellips die met het vak meerekt.
Hoe verplaats ik het middelpunt van een radial gradient?
Voeg at en een positie toe na de vorm en het formaat, bijvoorbeeld radial-gradient(circle at 20% 30%, #c4b5fd, #1e1b4b). Posities werken zoals background-position.
Wat betekent farthest-corner?
Het bepaalt het formaat zo dat de laatste kleurstop de hoek van het vak bereikt die het verst van het middelpunt ligt. Het is het standaardformaat.
Kan een cirkelvormige radial gradient een formaat in procenten hebben?
Nee. Een cirkel heeft één lengte nodig, zoals 200px. Ellipsen kunnen twee percentages gebruiken, zoals ellipse 60% 40%.
Hoe maak ik een glow-effect met CSS-gradients?
Leg een of meer radial-gradient()-waarden op elkaar die van een halfdoorzichtige kleur naar transparent vervagen, boven een donkere background-color.
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


