css variable | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: css variable

Friday, April 17, 2026

css variable

📚 Seri Belajar CSS · Artikel 11 dari 13

CSS Variables dan
Custom Properties

Kode Lebih Rapi dan Mudah Dikelola — sekali ubah, seluruh website ikut berubah. Begitu dasyatnya var().

#CSS Variables #Custom Properties #var() #Web Design
⏱ 9 menit
Estimasi Baca
🎯 Pemula
Level
📅 2026
Diperbarui

Pernah nggak kamu lagi ngutak-ngatik tampilan website, terus harus ganti warna utama dari biru ke ungu — dan ujung-ujungnya kamu ctrl+F ribuan baris CSS cuma untuk mengganti satu warna yang muncul di 47 tempat berbeda? Melelahkan banget, kan? Nah, itulah masalah yang diselesaikan oleh CSS variables custom properties var().

CSS Variables — atau nama resminya Custom Properties — adalah fitur modern CSS yang memungkinkan kamu menyimpan nilai (seperti warna, ukuran font, atau jarak) dalam sebuah "wadah bernama", lalu memanggilnya di seluruh stylesheet hanya dengan fungsi var(). Ubah nilainya sekali di satu tempat, seluruh website ikut berubah. Sihir? Bukan — ini engineering yang cerdas.

Di artikel ke-11 dari Seri Belajar CSS ini, kita akan bedah tuntas cara kerja CSS Custom Properties dari nol — mulai dari cara mendeklarasikan, cara memanggilnya, sampai trik-trik pro yang bakal bikin kode CSS kamu jauh lebih rapi dan mudah dikelola.

🔑 Definisi Utama
CSS Custom Properties (Variables) adalah entitas yang didefinisikan oleh developer CSS sendiri, bukan browser — dan nilainya bisa digunakan berulang kali di seluruh stylesheet.
Sintaks Deklarasi
--nama-variabel: nilai;
Sintaks Pemakaian
property: var(--nama-variabel);

01. Apa Itu CSS Variables Custom Properties — dan Kenapa Kamu Butuh Ini?

Bayangkan kamu punya toko cat. Setiap kali pelanggan minta warna "biru kobalt", kamu nggak campurkan pigmen dari nol — kamu ambil kaleng berlabel "Biru Kobalt" dan langsung tuang. Hemat waktu, hasilnya konsisten.

Itulah persis analogi CSS Custom Properties. Kamu simpan nilai (misalnya warna #6366f1) ke dalam "kaleng berlabel" bernama --warna-utama, lalu tinggal panggil labelnya setiap kali butuh warna itu. Ubah isi kalengnya sekali → semua yang pakai label itu otomatis berubah.

🔥
Fakta Menarik
CSS Custom Properties sudah didukung oleh 96%+ browser modern per 2025 — termasuk Chrome, Firefox, Safari, dan Edge. Jadi kamu nggak perlu khawatir soal kompatibilitas untuk proyek sehari-hari.

Sebelum CSS Variables ada, developer sering pakai preprocessor seperti SASS atau LESS untuk hal yang sama. Masalahnya: SASS harus di-compile dulu sebelum bisa dipakai browser — jadi kamu perlu tooling tambahan. CSS Custom Properties bekerja langsung di browser, tanpa setup apapun. Bahkan nilainya bisa diubah secara dinamis lewat JavaScript!

Fitur CSS Variables Native SASS Variables Hard-coded Value
Butuh compiler? ✅ Tidak ❌ Ya ✅ Tidak
Bisa diubah JS? ✅ Ya ❌ Tidak ❌ Tidak
Scope (warisan nilai) ✅ Ya (cascade) ❌ Tidak ❌ Tidak
Kemudahan maintenance ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐

02. Cara Menggunakan CSS Variables Custom Properties dengan var()

Oke, cukup teori. Sekarang mari kita langsung praktik. Ada dua langkah utama: deklarasi (membuat variabel) dan penggunaan (memanggil variabel dengan var()).

1

Deklarasikan variabel di dalam :root

Selektor :root adalah cara terbaik untuk mendeklarasikan variabel yang berlaku global — artinya bisa dipanggil dari mana saja di stylesheet. Nama variabel harus diawali dua tanda hubung (--).

style.css
:root {
  --warna-utama: #6366f1;
  --warna-aksen: #f59e0b;
  --warna-teks: #1e1e2e;
  --font-utama: 'Plus Jakarta Sans', sans-serif;
  --radius-card: 12px;
  --shadow-lembut: 0 4px 20px rgba(0,0,0,0.08);
}
2

Panggil variabel dengan fungsi var()

Setelah deklarasi, tinggal pakai di mana saja. Masukkan nama variabel (termasuk --) sebagai argumen fungsi var().

style.css
.tombol {
  background-color: var(--warna-utama);
  color: white;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-lembut);
  font-family: var(--font-utama);
}

.judul {
  color: var(--warna-teks);
  font-family: var(--font-utama);
}
💡
Tips Penting
Nilai fallback di var(): Kamu bisa menambahkan nilai cadangan sebagai argumen kedua di var(). Contoh: color: var(--warna-utama, #6366f1); — jika --warna-utama tidak ditemukan, browser otomatis pakai #6366f1 sebagai fallback. Super aman!
3

Ubah nilai variabel lewat JavaScript secara dinamis

Ini salah satu kekuatan terbesar CSS Variables dibanding SASS: nilainya bisa diubah secara real-time oleh JavaScript! Ini yang memungkinkan fitur dark mode, theme switcher, atau animasi berbasis interaksi user.

script.js
// Ambil elemen :root
const root = document.documentElement;

// Ubah warna utama jadi merah saat tombol diklik
document.getElementById('ganti-tema').addEventListener('click', () => {
  root.style.setProperty('--warna-utama', '#ef4444');
});

// Baca nilai variabel yang sedang aktif
const nilaiSekarang = getComputedStyle(root).getPropertyValue('--warna-utama');
console.log(nilaiSekarang); // "#6366f1"

03. Scope dan Cascade — CSS Variables Bekerja Mengikuti Hirarki HTML

Salah satu keajaiban CSS Custom Properties adalah ia mengikuti sistem cascade dan inheritance CSS — sama seperti properti CSS biasa. Ini artinya kamu bisa membuat variabel yang berlaku hanya di dalam elemen tertentu, dan menimpanya untuk kasus khusus.

Insight Penting
CSS Variables bersifat scoped: variabel yang didefinisikan di dalam elemen tertentu hanya bisa diakses oleh elemen itu dan semua child-nya. Makanya :root dipakai sebagai "global scope" karena ia adalah parent dari semua elemen HTML.
scope-example.css
/* Variabel global — berlaku di seluruh halaman */
:root {
  --warna-bg: #ffffff;
  --warna-teks: #1e1e2e;
}

/* Override lokal — hanya berlaku di .dark-card dan child-nya */
.dark-card {
  --warna-bg: #1e1e2e;
  --warna-teks: #ffffff;

  background: var(--warna-bg);
  color: var(--warna-teks);
}

/* Elemen di dalam .dark-card otomatis mewarisi --warna-teks putih */
.dark-card p {
  color: var(--warna-teks); /* akan jadi putih, bukan hitam! */
}

04. Studi Kasus Nyata — Dark Mode dengan CSS Variables var()

Sekarang kita gabungkan semua konsep dalam satu studi kasus yang paling populer: membuat dark mode. Dengan CSS Custom Properties, ini bisa dilakukan hanya dengan mengganti segelintir variabel — tanpa menyentuh ratusan selector satu per satu.

4

Definisikan variabel untuk light dan dark mode

dark-mode.css
/* ☀️ Mode terang (default) */
:root {
  --bg: #ffffff;
  --teks: #1e1e2e;
  --card-bg: #f8fafc;
  --border: #e2e8f0;
}

/* 🌙 Mode gelap — override variabel yang sama! */
[data-tema="gelap"] {
  --bg: #0f0f1a;
  --teks: #e2e8f0;
  --card-bg: #1e1e2e;
  --border: #334155;
}

/* Komponen pakai var() — otomatis ikut theme! */
body {
  background: var(--bg);
  color: var(--teks);
}
.card {
  background: var(--card-bg);
  border: 1px solid var(--border);
}
5

Toggle dark mode dengan JavaScript (2 baris saja!)

toggle.js
document.getElementById('toggle-mode').addEventListener('click', () => {
  // Cukup toggle satu attribute — semua ikut berubah!
  document.documentElement.dataset.tema
    = document.documentElement.dataset.tema === 'gelap'
      ? 'terang'
      : 'gelap';
});
⚠️
Perhatian
CSS Variables case-sensitive! Artinya --warnautama, --warnaUtama, dan --warna-utama adalah tiga variabel yang berbeda. Gunakan konvensi penamaan yang konsisten — mayoritas developer pilih kebab-case (huruf kecil dengan tanda hubung).
🔬 Analisis Mendalam — Best Practices CSS Variables
Gunakan prefix kategori — contoh: --color-primary, --spacing-md, --font-size-lg. Lebih mudah dibaca dan dikelola.
Kumpulkan semua deklarasi di :root — satu tempat, mudah ditemukan. Anggap ini seperti "daftar belanja" di bagian atas stylesheet kamu.
Pakai komentar untuk mengelompokkan — contoh: /* === WARNA === */, /* === SPACING === */.
Jangan buat terlalu banyak variabel — kalau hanya dipakai satu kali, mending hard-code saja. Variabel ideal untuk nilai yang dipakai minimal 3 kali.
Trik Pro
CSS Variables bisa menyimpan angka tanpa satuan untuk dipakai dalam perhitungan dengan calc()! Contoh: --multiplier: 1.5; lalu padding: calc(var(--multiplier) * 16px);. Ini teknik canggih untuk membuat sistem spacing yang fleksibel!
📝 Kesimpulan

CSS Variables Custom Properties — Investasi Kecil, Manfaat Besar

Di artikel ini, kita sudah menjelajahi dunia CSS variables custom properties var() secara menyeluruh. Berikut poin-poin kuncinya:

CSS Variables dideklarasikan dengan awalan -- dan dipanggil dengan fungsi var()
Deklarasi di :root menjadikannya variabel global yang bisa diakses dari mana saja
Variabel bisa di-scope ke elemen tertentu dan diubah nilainya secara dinamis lewat JavaScript
Dark mode, theming, dan sistem desain yang konsisten menjadi jauh lebih mudah diimplementasikan

Sekarang giliran kamu! Coba buka proyek CSS kamu, dan ubah setidaknya satu nilai yang sering berulang menjadi variabel. Rasakan sendiri bedanya — kode yang rapi bukan cuma memudahkan hidup kamu, tapi juga siapapun yang membaca kode tersebut di masa depan (termasuk kamu sendiri, 3 bulan dari sekarang 😄).

Kalau artikel ini bermanfaat, yuk tinggalkan komentar di bawah — atau share ke teman yang lagi belajar CSS! Dan jangan lupa subscribe biar nggak ketinggalan artikel berikutnya dalam Seri Belajar CSS ini. 🚀

Tags Artikel
#CSS #CSSVariables #CustomProperties #var() #WebDevelopment #DarkMode #SeriBelajarCSS

No comments:

Post a Comment

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux