Markkinat
Hinnoittelu
Kirjaudu sisäänAloita
SuunnitteluopasCSS ja verkko
CSS ja verkko

CSS color-mix(): värien sekoittaminen selaimessa

color-mix() siirtää selaimelle värilaskut, jotka ennen teit esikäsittelijällä tai silmämääräisesti. Oikealla väriavaruudella yhdestä brändiväristä syntyy vaaleat, tummat ja läpikuultavat sävyt.

GradientlyVahvistettu Gradiently-tili·1. lokakuuta 2026·3 min lukuaika
Kansi: Rain Rampart · GR·A80B·X7

Lyhyesti

  • CSS color-mix() sekoittaa kaksi väriä nimetyssä väriavaruudessa, kuten color-mix(in oklab, #7c3aed 40%, white).
  • Jos annat yhden prosentin, toinen väri saa loput. Ilman prosentteja sekoitus on puoliksi kumpaakin.
  • oklab pitää koetun vaaleuden tasaisena ja välttää sRGB-sekoituksen etäisten sävyjen harmaat keskikohdat.
  • Sekoitus transparent-arvoon tekee selkeimmin läpikuultavan version mukautettuun ominaisuuteen tallennetusta väristä.
  • color-mix() toimii kaikissa nykyisissä suurissa selaimissa. Tasainen varaväri kattaa hyvin vanhat selaimet.
Tällä sivulla
color-mix()-syntaksiMikä väriavaruus kannattaa valitaVaaleat ja tummat sävyt yhdestä brändiväristäLäpinäkyvyys color-mix()-funktiollaTavalliset color-mix()-virheetSelain­tuki ja varaversiotVärien sekoittaminen liukuväreihin

CSS color-mix(), eli color-mix(), sekoittaa kaksi väriä valitsemassasi väriavaruudessa ja palauttaa uuden värin. color-mix(in oklab, #7c3aed 40%, white) tuottaa vaalean violetin: 40 % violettia ja 60 % valkoista havaintoon perustuen. Se toimii kaikissa nykyisissä suurissa selaimissa. Mukautettujen ominaisuuksien kanssa yhdestä brändiväristä syntyvät vaalennukset, tummennukset, osoitintilat ja läpikuultavat peitteet ilman erikseen kovakoodattuja heksavärejä.

color-mix()-syntaksi

css
/* color-mix(in <colour space>, <colour> [<percentage>], <colour> [<percentage>]) */

.a { color: color-mix(in oklab, #7c3aed, white); }          /* 50% each */
.b { color: color-mix(in oklab, #7c3aed 40%, white); }      /* 40% violet, 60% white */
.c { color: color-mix(in oklab, #7c3aed, black 30%); }      /* 70% violet, 30% black */
.d { color: color-mix(in srgb, #7c3aed 50%, transparent); } /* violet at half opacity */
.e { color: color-mix(in oklch shorter hue, #2563eb, #f59e0b); }
Väriavaruus kirjoitetaan ensin. Sävyyn perustuvat oklch ja hsl hyväksyvät myös suunnan: shorter, longer, increasing tai decreasing.
Ei prosentteja

Selain käyttää

50 % ja 50 %

Huomautus

Tasainen sekoitus
Yksi prosentti, esimerkiksi 30 %

Selain käyttää

30 % ja 70 %

Huomautus

Toinen väri saa loput
Kaksi, joiden summa on 100 %

Selain käyttää

Kirjoitetut arvot

Huomautus

Selkein muoto myöhemmin luettavaksi
Kaksi, joiden summa ylittää 100 %

Selain käyttää

Skaalataan 100 %:iin

Huomautus

60 % ja 60 % vastaa 50 % ja 50 %
Kaksi, joiden summa alittaa 100 %

Selain käyttää

Skaalataan ylös ja tehdään läpikuultavaksi

Huomautus

20 % ja 30 % tuottaa puolipeittävän tuloksen
KirjoitatSelain käyttääHuomautus
Ei prosentteja50 % ja 50 %Tasainen sekoitus
Yksi prosentti, esimerkiksi 30 %30 % ja 70 %Toinen väri saa loput
Kaksi, joiden summa on 100 %Kirjoitetut arvotSelkein muoto myöhemmin luettavaksi
Kaksi, joiden summa ylittää 100 %Skaalataan 100 %:iin60 % ja 60 % vastaa 50 % ja 50 %
Kaksi, joiden summa alittaa 100 %Skaalataan ylös ja tehdään läpikuultavaksi20 % ja 30 % tuottaa puolipeittävän tuloksen
Prosenttien käsittely. Viimeinen rivi yllättää: alle 100:n summa tekee tuloksesta osittain läpinäkyvän.

Mikä väriavaruus kannattaa valita

Väriavaruus määrää reitin värien välillä. sRGB keskiarvoistaa punaisen, vihreän ja sinisen luvut, mikä on helppo ymmärtää mutta ei vastaa silmän havaintoa. Kaukaiset sävyt kulkevat harmaan läpi. oklab seuraa koettua vaaleutta ja väriä, joten keskikohta säilyy puhtaana ja askeleet tasaisina. Liukuvärin interpolointi näyttää saman valinnan liukuväreissä, joissa ero näkyy helpoimmin.

Sinisestä keltaiseen kolmessa avaruudessa. Keskikohta vastaa color-mix()-tulosta 50 %:lla: sRGB:ssä #808080, oklabissa vaalea siniharmaa.
  • oklab vaalennuksiin, tummennuksiin ja arkiseen sekoitukseen. Tasainen vaaleus ilman harmaata notkahdusta.
  • oklch kun haluat sävyn kiertävän, esimerkiksi yhdistää brändivärit niiden väliin väriympyrällä sijoittuvaksi kolmanneksi.
  • srgb transparent-sekoitukseen tai vanhojen sRGB:ssä sekoittavien suunnittelutyökalujen vastaavuuteen.
  • srgb-linear fysikaaliseen valosekoitukseen, jonka keskikohta näyttää kirkkaammalta.

OKLCH selitettynä kertoo, miksi havaintoon perustuvat avaruudet toimivat paremmin. Uudempi määrittely sallii avaruuden pois jättämisen ja olettaa oklabin. Lyhenteen tuki on tuoreempi, joten kirjoita in oklab näkyviin.

Vaaleat ja tummat sävyt yhdestä brändiväristä

Hyödyllisin malli on yhden muuttujan asteikko. Sekoita valkoiseen vaalentaaksesi, mustaan tummentaaksesi. Muuttujan vaihto päivittää kaiken, joten malli sopii monibrändituotteisiin ja käyttäjän valitsemiin teemoihin.

css
:root {
  --brand: #7c3aed;

  --brand-100: color-mix(in oklab, var(--brand) 20%, white);
  --brand-200: color-mix(in oklab, var(--brand) 40%, white);
  --brand-300: color-mix(in oklab, var(--brand) 60%, white);
  --brand-400: color-mix(in oklab, var(--brand) 80%, white);
  --brand-500: var(--brand);
  --brand-600: color-mix(in oklab, var(--brand) 80%, black);
  --brand-700: color-mix(in oklab, var(--brand) 60%, black);
}
Seitsemän askelta yhdestä väristä. Vaihda --brand mihin tahansa heksaväriin, niin asteikko seuraa.
Yllä olevan asteikon oklab-tulos värille #7c3aed. sRGB:ssä vaalennukset ovat harmaampia ja tummennukset tasaisempia.

Valkoinen ja musta ovat lähtökohta. Lämpimämpiin vaalennuksiin sekoita luonnonvalkoiseen kuten #fdf6ec, rikkaampiin tummennuksiin syvään laivastonsiniseen mustan sijaan. Asteikko säilyy brändisi näköisenä yleisen värirampin sijaan. Vaaleat, murretut ja tummat sävyt kertoo teoriasta.

Läpinäkyvyys color-mix()-funktiolla

Ennen color-mix()-funktiota muuttujavärin läpikuultava versio vaati kanavien erillistä tallennusta. Nyt sekoitat transparent-arvoon. Säilyttämäsi määrä on peittävyys.

css
.badge {
  color: var(--brand);
  background: color-mix(in srgb, var(--brand) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--brand) 30%, transparent);
}

.button:hover {
  background: color-mix(in oklab, var(--brand), black 12%);
}
Sävytetty tunniste ja osoitintila samasta muuttujasta. Ei toista ylläpidettävää väriä.

Tavalliset color-mix()-virheet

  • Väriavaruuden pois jättäminen vanhoille selaimille tarkoitetussa koodissa. Koko määrittely hylätään.
  • Kaikkien tummennusten sekoittaminen mustaan. Kylläiset värit sameutuvat. Valitse mieluummin saman sävyn tumma versio.
  • Alle 100:n prosenttisumman odottaminen peittäväksi. color-mix(in oklab, red 20%, blue 30%) on puoliksi läpinäkyvä.
  • hsl:n käyttö vaalennuksiin. Sen vaaleus ei vastaa havaintoa, joten samalla sekoituksella keltainen ja sininen näyttävät aivan eri askelilta.

Selain­tuki ja varaversiot

color-mix() on ollut Chromessa, Edgessä, Firefoxissa ja Safarissa vuodesta 2023. Nykyinen tuki löytyy caniuse-palvelusta. Hyvin vanhoille selaimille määritä ensin tasainen väri ja anna sekoituksen ohittaa se. Toista riviä ymmärtämätön selain sivuuttaa sen.

css
.card {
  background: #ede9fe;
  background: color-mix(in oklab, var(--brand) 15%, white);
}
Varaversio ensin, parannus sitten. Kaskadi hoitaa loput.

Näihin malleihin perustuva kokonainen vaalea ja tumma teema löytyy artikkelista CSS-muuttujat teemoissa.

Värien sekoittaminen liukuväreihin

color-mix() voi laskea liukuvärin keskimmäisen pisteen kahdesta brändiväristä sameuden välttämiseksi. linear-gradient(135deg, var(--a), color-mix(in oklch, var(--a), var(--b)), var(--b)) antaa kolmannen pisteen sävyreitillä. Sameat liukuvärit käsittelee ongelmaa.

Jos brändivärisi on Gradientlyn Markissa, reseptissä on jo yhdessä toimiva lähivärien perhe. Markkinoilla voit hakea värisanoilla kuten ”deep violet” ja löytää lähtösävysi ympärille rakennetun Markin.

Löydä liukuväri, joka on vain sinun

Selaa tuhansia Markeja, suunnittele millä tahansa niistä ilmaiseksi ja lunasta se, joka tuntuu sinulta.

Selaa Markkinoita

Usein kysyttyä

Mitä color-mix() tekee CSS:ssä?

Se sekoittaa kaksi väriä nimeämässäsi väriavaruudessa ja palauttaa tuloksen, kuten color-mix(in oklab, red 30%, white).

Mitä väriavaruutta käytän color-mix()-funktiossa?

oklab vaalennuksiin, tummennuksiin ja useimpiin sekoituksiin, oklch sävyn kiertämiseen ja srgb transparent-sekoitukseen.

Miten teen väristä läpinäkyvän color-mix()-funktiolla?

Sekoita transparent-arvoon: color-mix(in srgb, var(--brand) 20%, transparent) antaa brändivärin 20 %:n peittävyydellä.

Tukevatko kaikki selaimet color-mix()-funktiota?

Nykyiset Chrome, Edge, Firefox ja Safari tukevat sitä. Määritä ensin tasainen väri vanhojen selainten varalle.

Mitä tapahtuu, jos prosentit eivät summaudu sataan?

Yli 100:n summat skaalataan alas. Alle 100:n summat skaalataan ylös ja tuloksesta tulee osittain läpinäkyvä.

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

Tällä sivulla

color-mix()-syntaksiMikä väriavaruus kannattaa valitaVaaleat ja tummat sävyt yhdestä brändiväristäLäpinäkyvyys color-mix()-funktiollaTavalliset color-mix()-virheetSelain­tuki ja varaversiotVärien sekoittaminen liukuväreihin

Jaa tämä opas

Seuraavaksi aiheesta CSS ja verkko

CSS-muuttujateema: vaalea, tumma ja brändivärit

Lue myös

Kaikki oppaat aiheesta CSS ja verkko
CSS ja verkko

CSS-muuttujateema: vaalea, tumma ja brändivärit

3 min lukuaika

Teema menee pieleen, kun värit nimetään ulkonäön eikä tehtävän mukaan. Nimeä roolit ja yhdistä ne palettiin, niin vaalea, tumma ja toinen brändi tarvitsevat vain muutaman rivin.

Värit

OKLCH selitettynä: havaintoon perustuva väri suunnittelijalle

4 min lukuaika

HSL lupasi ymmärrettävän väritavan ja melkein onnistui. OKLCH säilyttää ymmärrettävyyden ja korjaa valoisuuden harhan, minkä vuoksi designjärjestelmät siirtyvät siihen.

Liukuvärit

Liukuvärin interpolointi: sRGB, OKLab ja niiden merkitys

4 min lukuaika

Valitse sininen ja keltainen, sekoita ne ja keskikohta muuttuu harmaaksi. Vika ei ole väreissä vaan sekoittavan väriavaruuden laskennassa. CSS Color 4:stä lähtien voit vaihtaa sitä.

Löydä ilme, joka on vain sinun.

Jokainen Mark on elävä tausta, jolla on yksi omistaja. Kokeile vapaata Markia ja lunasta omasi, kun se tuntuu oikealta.

Aloita suunnittelu

Tarkista sertifikaatti

Kirjoita sertifikaatin numero tai Markin koodi nähdäksesi, kuka sen omistaa.

Toimii ChatGPT:n ja Clauden kanssa

Pyydä tekoälyltäsi designia. Se tekee sen Markissasi, muokkausvalmiina.

ChatGPTClaude
Näin yhdistät

Tuote

  • Markkinat
  • Selaa
  • Hinnoittelu
  • Sertifikaatit

Opi

  • Suunnitteluopas
  • Ohjekeskus
  • Mitä uutta

Kehittäjille

  • Yleiskatsaus
  • ChatGPT ja Claude
  • API-viite
  • API-avaimet

Yritys

  • Tietoa meistä
  • Ota yhteyttä
  • Kirjaudu sisään

Juridiikka

  • Ehdot
  • Tietosuoja
  • Hyvitykset
  • Markin suoja
  • Evästeet
  • Kaikki käytännöt
Liiku kirjainten yli. Jokaisessa on oikea Mark.Kosketa kirjainta nähdäksesi sen Markin.Yksi nimi. Kymmenen Markia sen sisällä.
© 2026 Gradiently