Skip to main content

Variabel CSS: Membuat Kode CSS yang Lebih Efisien dan Cepat

Apa Itu Variabel dalam CSS?

Variabel CSS, atau disebut juga dengan CSS Custom Properties, adalah fitur modern dalam CSS yang memungkinkan kita menyimpan nilai-nilai tertentu (seperti warna, font-size, spacing, dll) di satu tempat, lalu menggunakan kembali nilai tersebut di seluruh kode CSS.

Contoh:

:root {
    --primary-color: #007bff;
    --font-stack: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

button {
    background-color: var(--primary-color);
    font-family: var(--font-stack);
}

Dengan variabel, kita bisa membuat kode lebih terstrukturmudah dipelihara, dan konsisten secara visual.


1. Sintaks Dasar

Variabel CSS didefinisikan dengan tanda dua strip (--) di awal nama variabel:

--nama-variabel: nilai;

Untuk menggunakannya, gunakan fungsi var():

property: var(--nama-variabel);

Contoh:

:root {
    --warna-utama: #ff5722;
    --jarak-besar: 2rem;
}

.card {
    border: 2px solid var(--warna-utama);
    margin-bottom: var(--jarak-besar);
}

💡 Nama variabel bersifat case-sensitive: --warna, --Warna, dan --WARNA dianggap berbeda.


2. Mendefinisikan Variabel

Variabel dapat didefinisikan di mana saja, tetapi umumnya ditempatkan di :root agar tersedia global.

:root {
    --bg-color: #f9f9f9;
    --text-color: #333;
    --radius: 8px;
}

Anda juga bisa mendefinisikan variabel di selector lain untuk penggunaan lokal:

.card {
    --card-padding: 1rem;
    padding: var(--card-padding);
}

3. Keuntungan Menggunakan Variabel CSS

Menggunakan variabel CSS memberikan banyak keuntungan:

Mudah Dikelola

Ganti nilai sekali di satu tempat, dan semua elemen yang menggunakan variabel itu akan ikut berubah.

Meningkatkan Konsistensi Desain

Pastikan warna, ukuran font, spacing, dan lainnya tetap konsisten di seluruh website.

Mempermudah Pemeliharaan

Tim desain dan developer bisa bekerja lebih cepat dan terorganisir.

Dapat Digunakan Dinamis

Bisa diganti saat runtime menggunakan JavaScript jika dibutuhkan.


4. Contoh Penggunaan Praktis

a. Warna Tema Global

:root {
    --primary: #007bff;
    --success: #28a745;
    --danger: #dc3545;
}

.btn-primary {
    background-color: var(--primary);
    color: white;
}

.btn-success {
    background-color: var(--success);
    color: white;
}

b. Spacing System

:root {
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 1.5rem;
    --spacing-lg: 2rem;
}

.card {
    padding: var(--spacing-md);
}

.header {
    margin-bottom: var(--spacing-lg);
}

c. Ukuran Font Responsif

:root {
    --font-base: 16px;
    --font-heading: calc(var(--font-base) * 1.5);
}

h1 {
    font-size: var(--font-heading);
}

p {
    font-size: var(--font-base);
}

5. Mengganti Nilai Variabel dengan Media Queries

Anda bisa mengganti nilai variabel berdasarkan kondisi tertentu seperti ukuran layar.

Contoh:

:root {
    --font-size: 16px;
}

@media screen and (max-width: 768px) {
    :root {
        --font-size: 14px;
    }
}

body {
    font-size: var(--font-size);
}

6. Mengganti Nilai Variabel dengan JavaScript

Karena variabel CSS adalah bagian dari DOM, nilainya bisa diubah melalui JavaScript.

Contoh:

document.documentElement.style.setProperty('--primary', '#e91e63');

Ini berguna untuk:

  • Mode gelap/terang dinamis.
  • Tema berbasis pengguna.
  • UI builder interaktif.

7. Tips dan Trik Efektif

  • Gunakan pendekatan sistematis seperti Design Tokens untuk nama variabel (misalnya --color-primary, --spacing-medium).
  • Simpan semua variabel di bagian atas stylesheet agar mudah dikelola.
  • Gunakan komentar untuk menjelaskan tujuan setiap variabel.
  • Gabungkan dengan calc() untuk perhitungan dinamis.
  • Uji perubahan variabel di browser developer tools untuk melihat efeknya secara langsung.

8. Contoh Template Struktur Variabel Lengkap

Berikut contoh struktur template variabel yang sering digunakan:

:root {
    /* Colors */
    --color-primary: #007bff;
    --color-secondary: #6c757d;
    --color-success: #28a745;
    --color-danger: #dc3545;

    /* Fonts */
    --font-main: 'Open Sans', sans-serif;
    --font-heading: 'Roboto', sans-serif;

    /* Sizes */
    --font-size-base: 16px;
    --font-size-sm: 14px;
    --font-size-lg: 18px;

    /* Spacing */
    --spacing: 1rem;
    --radius: 4px;
    --shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

    /* Breakpoints */
    --bp-tablet: 768px;
    --bp-desktop: 1024px;
}

Kesimpulan

Variabel CSS adalah alat yang sangat kuat untuk membuat kode CSS lebih modular, terstruktur, dan mudah dikelola. Dengan memanfaatkan --custom-property dan var(), Anda bisa menciptakan sistem desain yang fleksibel, responsif, dan mudah dikembangkan — baik untuk proyek pribadi maupun tim besar.

Selanjutnya, kita akan membahas Filter CSS, yaitu cara menambahkan efek visual pada gambar dan elemen dengan mudah.


💡 Tips Praktis

  • Gunakan variabel untuk warna, font, spacing, radius, shadow, dll.
  • Definisikan variabel di :root agar bisa diakses di seluruh stylesheet.
  • Gunakan JavaScript hanya jika benar-benar perlu mengganti tema secara dinamis.
  • Dokumentasikan variabel penting untuk kemudahan tim.

You may like these posts

Komentar