CSS ja verkko

CSS-kartiomainen liukuväri: ympyrät, piirakkakaaviot ja kiilto

conic-gradient() pyyhkäisee värin pisteen ympäri kuin kellon viisari. Tuo yksi ajatus piirtää väriympyrät, piirakkakaaviot, donitsikaaviot, metallinkiillon ja tähtipurskeet.

GradientlyVahvistettu Gradiently-tili··3 min lukuaika
Kansi: Found Dynamo · GR·787F·7V

Lyhyesti

  • CSS:n kartiomainen liukuväri asettaa värit keskipisteen ympärille pyyhkäisten myötäpäivään ylhäältä sen sijaan, että ne kulkisivat viivaa pitkin tai renkaina ulospäin.
  • Kartiomaisen liukuvärin pysäytyspisteet käyttävät kulmia tai prosentteja täydestä kierroksesta, joten 25 % ja 90deg tarkoittavat samaa paikkaa.
  • Kovat pysäytykset muuttavat kartiomaisen liukuvärin paloiksi, mikä on nopein tapa piirtää piirakkakaavio CSS:llä.
  • Avainsana from kääntää kohtaa, jossa pyyhkäisy alkaa, ja at siirtää keskipistettä.
  • repeating-conic-gradient() toistaa pysäytyksensä ympyrän ympäri ja piirtää yhdessä background-sizen kanssa shakkilautoja ja tähtipurskeita.
Tällä sivulla

CSS:n kartiomainen liukuväri pyyhkäisee värin keskipisteen ympäri, kuten kellon viisari kiertää taulunsa. Missä lineaarinen liukuväri muuttuu viivaa pitkin ja säteittäinen ulospäin keskeltä, conic-gradient() muuttuu kulman mukaan. Se alkaa ylhäältä, kulkee myötäpäivään ja sitä voi käyttää kaikkialla, missä CSS ottaa kuvan. Se tekee siitä luonnollisen työkalun väriympyröille, piirakkakaavioille, latausrenkaille ja harjatun metallin kulmakorostuksille.

Yksinkertainen väriympyräconic-gradient(#ef4444, #eab308, #22c55e, #06b6d4, #3b82f6, #a855f7, #ef4444)
Seitsemän pysäytystä tasaisesti täyden kierroksen ympärille. Ensimmäisen värin toisto lopussa sulkee sauman ylhäällä.

Jos valitset suunnitteluun liukuvärityyppiä syntaksin opettelun sijaan, liukuvärityypit ja suunnitteluopas kartiomaisista liukuväreistä ovat parempia lähtökohtia.

conic-gradient()-syntaksi

css
/*               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%)
Kaikki ennen ensimmäistä pilkkua on valinnaista. Kaksi viimeistä pysäytyslistaa piirtävät saman neljänneksen palan.
OsaEsimerkkiOletus
Aloituskulmafrom 45degfrom 0deg, suoraan ylös
Keskipisteat 30% 50%, at top leftat center
Interpolointiin oklch, in hsl longer huesRGB heksaväreille
Pysäytyksen paikka90deg, 0.25turn, 25%jaettu tasaisesti kierroksen ympärille
conic-gradient()-funktion osat. Pysäytysten paikat mitataan ympyrän ympäri, ei viivaa pitkin.

Kulmat kulkevat myötäpäivään ylhäältä: 90deg on kolme, 180deg kuusi kellossa. Täydellinen määritelmä on MDN:n conic-gradient()-sivulla. Selaintuki on ollut yleinen nykyisessä Chromessa, Edgessä, Safarissa ja Firefoxissa jo vuosia, joten etuliitteitä ei tarvita.

Pyyhkäisyn kääntäminen ja siirtäminen

from kääntää koko liukuväriä, mikä on kätevää, kun ensimmäisen ja viimeisen värin välinen sauma muuten olisi ylhäällä. at siirtää keskipistettä. Sen siirtäminen kulmaan muuttaa ympyrän säteiden viuhkaksi, ja sen siirtäminen kokonaan laatikon ulkopuolelle antaa lempeän kulmikkaan pesun, joka ei muistuta ympyrää lainkaan.

Sama indigon, violetin ja pinkin perhe, käännettynä ja siirrettynä. Kulmaversiossa neljänneskierros täyttää laatikon.

Piirakka- ja donitsikaaviot CSS:llä

Anna jokaiselle palalle alku ja loppu ja anna jokaisen alkaa siitä, mihin edellinen päättyi. Toisen pysäytyspaikan kirjoittaminen nollana on oikotie: edellistä pienempi paikka rajataan siihen, joten uusi väri alkaa täsmälleen siitä, mihin viimeinen päättyi. Pyöristä elementti ominaisuudella border-radius: 50% ja leikkaa reikä säteittäisellä maskilla muuttaaksesi piirakan donitsiksi.

css
.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%);
}
Nelipalainen piirakka ja yksi rivi, joka muuttaa sen donitsiksi. Käytä prosenteille mukautettuja ominaisuuksia, jos data muuttuu.
Piirakan palat: 40, 25, 20 ja 15 %conic-gradient(#6366f1 0 40%, #22d3ee 0 65%, #f59e0b 0 85%, #e2e8f0 0)
Piirakan tausta yksinään. Pyöreällä elementillä se näyttää kaaviolta.

Kovat reunat kartiomaisissa liukuväreissä voivat näyttää hieman rosoisilta palojen viivoilla joissakin selaimissa. Jos se häiritsee, jätä pysäytysten väliin murto-osa asteesta, kuten #6366f1 0 39.8%, #22d3ee 40.2% 65%, jolloin reuna saa hiuksenhienon häivytyksen.

Väriympyrät sävyinterpoloinnilla

Väriympyrä tarvitsee yleensä kuusi tai seitsemän pysäytystä. Interpolointimenetelmillä voit pyytää selainta kulkemaan sävyympyrän itse. longer hue kulkee pitkän reitin kahden sävyn välillä, ja kun molemmat pysäytykset ovat sama väri, pitkä reitti on koko ympyrä, joten kaksi punaista tekee täyden spektrin.

css
.wheel {
  border-radius: 50%;
  background: conic-gradient(in hsl longer hue, #ff0000, #ff0000);
}
Yksi väri kahdesti ja täysi sateenkaari välissä. OKLCH-liukuvärit selittävät lyhyemmän ja pidemmän sävyn.

Metallinkiilto ja korostukset

Oikea harjattu metalli ja kiillotetut levyt sieppaavat valoa kulmikkaina kaistoina, mikä on täsmälleen se, mitä kartiomainen liukuväri piirtää. Vuorottele muutamaa vaaleaa ja tummaa harmaata, epätasaisin välein, ja pinta luetaan metalliksi. Kerrostettuna matalalla peittävyydellä värin päälle sama temppu lisää kiiltoa painikkeisiin ja kortteihin. Katso työstetty esimerkki oppaasta liukuväripainikkeet.

Epätasaiset vaaleat ja tummat kaistat pyyhkäistynä keskipisteen ympäri luetaan kiillotettuna metallina.

Toistuvat kartiomaiset liukuvärit kuvioihin

repeating-conic-gradient() toistaa pysäytyslistansa kierroksen ympäri. Lyhyet, kovareunaiset pysäytykset antavat tähtipurskeita. Yhdessä background-sizen kanssa kaksivärinen neljännesmalli laatoittuu shakkilaudaksi, kuvioksi, jota on muuten hankala piirtää liukuväreillä. Lisää oppaassa CSS-kuviot.

Lyhyet kovat pysäytykset toistettuna koko ympäri.
css
.checkerboard {
  background: repeating-conic-gradient(#e2e8f0 0 25%, #ffffff 0 50%) 0 0 / 32px 32px;
}
16 pikselin shakkilauta: klassinen läpinäkyvyysruudukko kuvankäsittelyohjelmien takana.

Usein kysyttyä

Mikä on kartiomainen liukuväri CSS:ssä?

Se on liukuväri, jonka värit muuttuvat kulman mukaan keskipisteen ympäri alkaen ylhäältä ja edeten myötäpäivään, kirjoitettuna conic-gradient().

Miten teen piirakkakaavion CSS:llä?

Käytä kovia pysäytyksiä kartiomaisessa liukuvärissä, kuten conic-gradient(#6366f1 0 40%, #22d3ee 0 65%, #e2e8f0 0), elementillä, jolla on border-radius: 50%. Laita arvot myös tekstiin ruudunlukijoille.

Miten käännän kartiomaista liukuväriä?

Lisää from ja kulma ensimmäiseksi argumentiksi, esimerkiksi conic-gradient(from 90deg, ...). Pyyhkäisy alkaa silloin kolmesta eikä ylhäältä.

Miksi kartiomaisen liukuvärini reunat ovat rosoiset?

Koville pysäytyksille ei ole häivytystä, ja jotkin selaimet piirtävät rajan pehmentämättä. Murto-osan asteesta jättäminen vierekkäisten pysäytysten väliin pehmentää sitä.

Toimivatko kartiomaiset liukuvärit kaikissa selaimissa?

Kyllä, Chromen, Edgen, Safarin ja Firefoxin nykyiset versiot tukevat conic-gradient()- ja repeating-conic-gradient()-funktioita ilman etuliitteitä.

Jaa tämä opas

Kirjoittanut GradientlyVahvistettu Gradiently-tili

Gradientlyn tiimi. Gradiently on Markien ympärille rakennettu suunnittelutyökalu: eläviä liukuvärejä, joiden ansiosta kaikki suunnittelemasi näyttää omaltasi.

Katso profiilimme