Marketer Indonesia: Pasang CSS Relative Color di Next.js untuk Tema Konsisten
TL;DR: CSS Relative Color Syntax memungkinkan marketer dan developer Next.js menurunkan warna dari token brand utama tanpa menulis ulang nilai HEX. Hasilnya, hover, border, dan dark mode lebih konsisten, jumlah token desain berkurang, dan handover desainer-developer lebih cepat. Artikel ini memandu pasang sintaks tersebut di proyek Next.js modern per Mei 2026.
Saat membangun Atmo LMS dan Vetmo, saya berkali-kali menulis ulang variabel warna untuk hover dan disabled hanya karena desainer mengubah satu nilai brand. Per Mei 2026, CSS Relative Color Syntax sudah cukup matang dukungan browsernya untuk dipakai tanpa polyfill mahal.
Artikel ini bukan promosi fitur, tapi panduan teknis singkat plus pertimbangan trade-off ketika memasangnya di proyek Next.js.
Konteks: Kenapa Token Warna Sering Drift
Drift warna terjadi ketika tim menyimpan banyak token turunan seperti --brand-100 sampai --brand-900. Ketika --brand-500 diubah, turunannya tidak ikut ter-update otomatis. Dengan Relative Color Syntax, turunan dihitung saat render, bukan disimpan. Cukup satu token sumber.
Setup Dasar di Next.js
Anggap proyek pakai App Router dengan globals.css. Tambahkan token brand di :root, lalu definisikan turunan pakai sintaks oklch from.
:root {
--brand: oklch(0.62 0.18 250);
}
.btn-primary {
background: var(--brand);
border: 1px solid oklch(from var(--brand) calc(l - 0.1) c h);
}
.btn-primary:hover {
background: oklch(from var(--brand) calc(l + 0.06) c h);
}
.btn-primary:disabled {
background: oklch(from var(--brand) l calc(c * 0.3) h);
}
Token --brand cukup satu nilai. Hover, border, dan disabled diturunkan otomatis.
Skenario Real & Trade-off
| Skenario | Pendekatan | Catatan |
|---|---|---|
| Dark mode | Kombinasikan dengan light-dark() | Pakai token gelap sebagai sumber di mode gelap |
| Shadow brand | rgb(from var(--brand) r g b / 0.18) | Hindari opacity > 0.3 untuk shadow halus |
| Tag status | Turunkan dari token semantik, bukan brand | Konsistensi semantik lebih penting daripada brand |
| Tooltip | Padukan dengan CSS anchor-name | Tooltip ikut tema brand otomatis |
Trade-off utamanya: fallback untuk browser lama. Berdasarkan dokumentasi MDN Web Docs, Chrome 119+, Safari 16.4+, dan Firefox 128+ sudah mendukung. Untuk audiens yang masih banyak memakai browser lebih lama, sediakan token eksplisit dahulu lalu override di dalam @supports.
Studi Kasus Singkat: Atmo LMS
Sebelum migrasi, file globals.css di Atmo LMS menyimpan 28 token warna turunan. Setelah refaktor ke Relative Color Syntax, jumlahnya turun ke 9 token utama. Build CSS turun di range 8 sampai 12 persen. Lebih penting, perubahan warna brand dari tim desain tinggal mengubah satu baris. Eksperimen tema musiman jadi lebih cepat di-test.
Pertanyaan Umum
Apakah harus refaktor semua warna sekaligus?
Tidak. Mulai dari komponen yang paling sering berubah, misal tombol dan tag. Kunci yang stabil seperti border netral bisa dibiarkan.
Bagaimana kalau pakai Tailwind v4?
Tailwind v4 sudah mendukung arbitrary value berbasis CSS function. Kamu bisa pakai sintaks ini langsung di class arbitrary atau di custom CSS layer.
Apakah performanya berbeda?
Tidak signifikan untuk komponen biasa. Kalkulasi warna dijalankan di style resolution stage, jauh lebih cepat dari layout dan paint.
Penutup
Relative Color Syntax bukan revolusi visual, tapi penyederhanaan operasional. Untuk marketer yang juga mengurusi sisi tema brand, sintaks ini memangkas waktu iterasi dan menjaga konsistensi tanpa rapat panjang soal nilai HEX. Pasang bertahap, mulai dari komponen yang paling dinamis.
Artikel Terkait
Website Bisnis
Schema Markup di Next.js: Panduan Praktis untuk Marketer
Schema markup membuat mesin pencari dan AI memahami isi halaman Anda. Panduan praktis memasangnya di Next.js tanpa harus jadi developer penuh waktu.
Website Bisnis
Dari Excel ke Notion: Panduan Transformasi Digital UMKM
Transformasi digital UMKM tidak harus mahal. Memindahkan operasional dari Excel yang berantakan ke Notion sudah cukup untuk merapikan data dan menyiapkan bisnis tumbuh.
Website Bisnis
Website Cepat, Konversi Lebih Tinggi: Bukti dan Caranya
Kecepatan halaman bukan sekadar angka teknis. Ia memengaruhi bounce, kepercayaan, dan konversi. Ini bukti dan langkah praktis mempercepatnya.
Butuh website yang benar-benar bekerja?
Hubungi Vito untuk konsultasi gratis 15 menit.
WhatsApp Sekarang