Skip to content

CSS-funksjoner forklart

CSS-funksjonene som gjør mest arbeid, gruppert etter jobb: beregne størrelser, lese egendefinerte egenskaper, blande og velge farger, male gradienter, bruke filtre, tegne former, transformere bokser og velge verdier med logikk. Hver rad kombinerer funksjonen med et eksempel på én linje.

En CSS-funksjon tar argumenter og returnerer en verdi nettleseren bruker. De tunge løfterne er calc() for aritmetikk, var() for design-tokens, clamp() for flytende størrelser og color-mix() for avledede farger. Neste dem fritt: clamp(1rem, var(--fluid), 3rem) er én enkelt responsiv verdi.

Referansetabell · 62 oppføringer
62 of 62 rows
Størrelser og matematikk
Resultatet av et aritmetisk uttrykk, med blandede enheter.width: calc(100% - 2rem);
Den minste av de oppgitte verdiene.width: min(100%, 60ch);
Den største av de oppgitte verdiene.width: max(320px, 40vw);
En verdi avgrenset mellom et minimum, en foretrukket verdi og et maksimum.font-size: clamp(1rem, 2vw, 1.5rem);
Leser en miljøvariabel levert av brukeragenten.padding: env(safe-area-inset-top);
En størrelse begrenset til innholdets iboende bredde.width: fit-content(200px);
Runder én verdi til nærmeste multiplum av en annen.width: round(up, 133px, 50px);
Den positive resten av en divisjon, alltid ikke-negativ.margin: mod(100px, 30px);
Resten av en divisjon, beholder dividendens fortegn.margin: rem(-100px, 30px);
Absoluttverdien.translateX(abs(-10px));
-1, 0 eller 1, i samsvar med verdiens fortegn.padding: sign(-5px) * 10px;
Grid
Et størrelsesområde for grid-spor, mellom et minimum og et maksimum.grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr);
Gjentar et spor-mønster et antall ganger eller til det er fylt.grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
Logikk og betingelser
Velger én av to verdier basert på en betingelse.font-size: if(media(width > 600px), 1.25rem, 1rem);
Sann når en mediespørring treffer, til bruk inne i if().padding: if(media(width > 40rem), 2rem, 1rem);
Sann når nettleseren støtter en deklarasjon, til bruk inne i if().display: if(supports(color: oklch(0 0 0)), oklch(0 0 0), #333);
Sann når velgeren treffer, til bruk inne i if().font-weight: if(selector(:hover), 700, 400);
Egendefinerte egenskaper
Verdien av en egendefinert egenskap, med en valgfri reserveverdi.color: var(--accent, #333);
Farge
En farge fra kanalene rød, grønn og blå (og alfa).color: rgb(59 130 246 / 0.8);
En farge fra kulør, metning og lyshet.color: hsl(210 80% 50%);
En farge i det perceptuelle OKLCH-fargerommet (ensartet lyshet).color: oklch(0.7 0.15 250);
En blanding av to farger i et gitt fargerom.color: color-mix(in srgb, red 40%, blue);
Alternativet fra en liste som kontrasterer best mot en basisfarge.color: color-contrast(#fff vs #000, #777);
En farge fra kulør, hvithet og svartighet.color: hwb(210 10% 20%);
En farge i CIELAB-rommet (lyshet, a- og b-akser).color: lab(52% 40 59);
En farge i CIELAB-rommet (lyshet, krominans, kulør).color: lch(52% 49 24);
En farge i et hvilket som helst forhåndsdefinert fargerom, etter koordinater.color: color(display-p3 1 0.4 0.2);
Den første fargen i lyst tema, den andre i mørkt.color: light-dark(#1a1a1a, #f5f5f5);
Gradienter og bilder
En gradient langs en rett linje mellom fargestopp.background: linear-gradient(90deg, #4b9fff, #2ee6a6);
En gradient som stråler utover fra et punkt.background: radial-gradient(circle, #fff, #000);
En gradient som sveiper rundt et sentrum.background: conic-gradient(red, yellow, red);
Laster en ekstern ressurs: bilde, skrifttype eller SVG.background-image: url(hero.webp);
Velger det beste bildet for enhetens oppløsning.background-image: image-set("hero.webp" 1x, "hero@2x.webp" 2x);
Blander to bilder med en gitt prosentandel.background-image: cross-fade(30%, url(a.webp), url(b.webp));
Filter og form
Pikselfiltre brukt inne i filter-egenskapen.filter: blur(4px) brightness(1.1);
En SVG-banestreng, brukt til å tegne et klipp eller en form.clip-path: path('M10 10 H 90 V 90 Z');
Leser en HTML-attributt; begrenset bruk utenfor content.content: attr(data-label);
Justerer kontrasten til elementet.filter: contrast(1.4);
Tegner en skygge som følger elementets alfaform.filter: drop-shadow(0 4px 8px rgb(0 0 0 / 0.3));
Gjør elementet om til gråtoner.filter: grayscale(100%);
Inverterer elementets farger.filter: invert(1);
Legger på en sepiaton.filter: sepia(0.6);
Roterer kuløren på elementets farger.filter: hue-rotate(90deg);
Angir elementets ugjennomsiktighet via filter.filter: opacity(0.5);
En sirkelform for clip-path eller shape-outside.clip-path: circle(40% at 50% 50%);
En ellipseform for clip-path eller shape-outside.clip-path: ellipse(50% 35% at 50% 50%);
En avrundet rektangelform for clip-path.clip-path: inset(10px 10px 10px 10px round 8px);
En polygonform fra en liste med punkter.clip-path: polygon(50% 0, 100% 100%, 0 100%);
Transformasjon
Flytter elementet langs X og Y.transform: translate(10px, 20px);
Roterer elementet rundt sitt sentrum.transform: rotate(45deg);
Skalerer elementet langs X og Y.transform: scale(1.25);
Skjevvrir elementet langs X og Y.transform: skew(10deg, 0deg);
Én 2D-transformasjon fra seks matriseverdier.transform: matrix(1, 0, 0.5, 1, 10, 0);
Angir en 3D-perspektivdybde for elementets barn.transform: perspective(600px) rotateY(20deg);
Animasjon og tellere
En easing-kurve fra fire kontrollpunkter.transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
En easing som hopper i like steg.animation-timing-function: steps(8, end);
Den nåværende verdien av en CSS-teller, som innhold.content: counter(chapter);
Verdiene til en teller og alle dens forgjengere, forbundet med en streng.content: counters(item, ".");
0 til 1 etter hvert som en verdi går fra en start til en slutt.opacity: progress(scroll(), 0, 50vh);
Et tilfeldig tall fra et intervall, fast per element.rotate: random(from -5deg to 5deg);
Sinus til en vinkel, for calc-uttrykk.translateY(calc(1rem * sin(45deg)));
Kosinus til en vinkel, for calc-uttrykk.translateX(calc(1rem * cos(45deg)));