Skip to content

Fungsi CSS dijelaskan

Fungsi-fungsi CSS yang paling banyak bekerja, dikelompokkan per tugas: menghitung ukuran, membaca custom property, mencampur dan memilih warna, melukis gradien, menerapkan filter, menggambar bentuk, mentransformasi kotak, dan memilih nilai dengan logika. Setiap baris memasangkan fungsi dengan contoh satu baris.

Fungsi CSS menerima argumen dan mengembalikan nilai yang dipakai browser. Yang paling sering dipakai adalah calc() untuk aritmetika, var() untuk design token, clamp() untuk ukuran fluid, dan color-mix() untuk warna turunan. Sarangkan dengan bebas: clamp(1rem, var(--fluid), 3rem) adalah satu nilai responsif.

Tabel referensi · 62 entri
62 of 62 rows
Ukuran dan matematika
Hasil dari sebuah ekspresi aritmetika, dengan satuan campuran.width: calc(100% - 2rem);
Nilai terkecil dari nilai-nilai yang diberikan.width: min(100%, 60ch);
Nilai terbesar dari nilai-nilai yang diberikan.width: max(320px, 40vw);
Nilai yang dibatasi antara minimum, pilihan, dan maksimum.font-size: clamp(1rem, 2vw, 1.5rem);
Membaca variabel lingkungan yang disediakan user agent.padding: env(safe-area-inset-top);
Ukuran yang dijepit pada lebar intrinsik konten.width: fit-content(200px);
Membulatkan satu nilai ke kelipatan terdekat dari nilai lain.width: round(up, 133px, 50px);
Sisa pembagian positif, selalu tak-negatif.margin: mod(100px, 30px);
Sisa pembagian, mempertahankan tanda bilangan yang dibagi.margin: rem(-100px, 30px);
Nilai absolut.translateX(abs(-10px));
-1, 0, atau 1, sesuai tanda nilainya.padding: sign(-5px) * 10px;
Grid
Rentang ukuran untuk track grid, antara minimum dan maksimum.grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr);
Mengulang pola track beberapa kali atau sampai terisi.grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
Logika dan kondisi
Memilih satu dari dua nilai berdasarkan kondisi.font-size: if(media(width > 600px), 1.25rem, 1rem);
Benar saat media query cocok, untuk dipakai di dalam if().padding: if(media(width > 40rem), 2rem, 1rem);
Benar saat browser mendukung sebuah deklarasi, untuk dipakai di dalam if().display: if(supports(color: oklch(0 0 0)), oklch(0 0 0), #333);
Benar saat selector cocok, untuk dipakai di dalam if().font-weight: if(selector(:hover), 700, 400);
Properti kustom
Nilai dari sebuah custom property, dengan fallback opsional.color: var(--accent, #333);
Warna
Warna dari kanal merah, hijau, biru (dan alpha).color: rgb(59 130 246 / 0.8);
Warna dari hue, saturasi, dan lightness.color: hsl(210 80% 50%);
Warna dalam ruang persepsi OKLCH (lightness konsisten).color: oklch(0.7 0.15 250);
Campuran dua warna dalam ruang warna tertentu.color: color-mix(in srgb, red 40%, blue);
Pilihan dari daftar yang kontras terbaik dengan warna dasar.color: color-contrast(#fff vs #000, #777);
Warna dari hue, keputihan, dan kehitaman.color: hwb(210 10% 20%);
Warna dalam ruang CIELAB (lightness, sumbu a dan b).color: lab(52% 40 59);
Warna dalam ruang CIELAB (lightness, chroma, hue).color: lch(52% 49 24);
Warna dalam ruang warna pradefinisi mana pun, menurut koordinat.color: color(display-p3 1 0.4 0.2);
Warna pertama pada skema terang, warna kedua pada skema gelap.color: light-dark(#1a1a1a, #f5f5f5);
Gradien dan gambar
Gradien di sepanjang garis lurus antara color stop.background: linear-gradient(90deg, #4b9fff, #2ee6a6);
Gradien yang memancar keluar dari satu titik.background: radial-gradient(circle, #fff, #000);
Gradien yang menyapu mengelilingi satu titik pusat.background: conic-gradient(red, yellow, red);
Memuat sumber daya eksternal: gambar, font, atau SVG.background-image: url(hero.webp);
Memilih gambar terbaik untuk resolusi perangkat.background-image: image-set("hero.webp" 1x, "hero@2x.webp" 2x);
Mencampur dua gambar pada persentase tertentu.background-image: cross-fade(30%, url(a.webp), url(b.webp));
Filter dan bentuk
Filter piksel yang dipakai di dalam properti filter.filter: blur(4px) brightness(1.1);
String path SVG, dipakai untuk menggambar clip atau bentuk.clip-path: path('M10 10 H 90 V 90 Z');
Membaca atribut HTML; pemakaiannya terbatas di luar content.content: attr(data-label);
Menyesuaikan kontras elemen.filter: contrast(1.4);
Melukis bayangan yang mengikuti bentuk alpha elemen.filter: drop-shadow(0 4px 8px rgb(0 0 0 / 0.3));
Mengubah elemen menjadi grayscale.filter: grayscale(100%);
Membalikkan warna elemen.filter: invert(1);
Menerapkan ton sepia.filter: sepia(0.6);
Memutar hue warna elemen.filter: hue-rotate(90deg);
Mengatur opasitas elemen lewat filter.filter: opacity(0.5);
Bentuk lingkaran untuk clip-path atau shape-outside.clip-path: circle(40% at 50% 50%);
Bentuk elips untuk clip-path atau shape-outside.clip-path: ellipse(50% 35% at 50% 50%);
Bentuk persegi panjang bersudut membulat untuk clip-path.clip-path: inset(10px 10px 10px 10px round 8px);
Bentuk poligon dari daftar titik.clip-path: polygon(50% 0, 100% 100%, 0 100%);
Transformasi
Memindahkan elemen sepanjang X dan Y.transform: translate(10px, 20px);
Memutar elemen di sekitar titik pusatnya.transform: rotate(45deg);
Menskalakan elemen sepanjang X dan Y.transform: scale(1.25);
Memiringkan elemen sepanjang X dan Y.transform: skew(10deg, 0deg);
Satu transformasi 2D dari enam nilai matriks.transform: matrix(1, 0, 0.5, 1, 10, 0);
Mengatur kedalaman perspektif 3D untuk anak elemen.transform: perspective(600px) rotateY(20deg);
Animasi dan pencacah
Kurva easing dari empat titik kontrol.transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
Easing yang melompat dalam langkah sama.animation-timing-function: steps(8, end);
Nilai counter CSS saat ini, sebagai konten.content: counter(chapter);
Nilai sebuah counter beserta semua leluhurnya, digabung dengan sebuah string.content: counters(item, ".");
0 sampai 1 saat sebuah nilai bergerak antara awal dan akhir.opacity: progress(scroll(), 0, 50vh);
Angka acak dari sebuah rentang, tetap per elemen.rotate: random(from -5deg to 5deg);
Sinus dari sebuah sudut, untuk ekspresi calc.translateY(calc(1rem * sin(45deg)));
Kosinus dari sebuah sudut, untuk ekspresi calc.translateX(calc(1rem * cos(45deg)));