Kustomisasi Tak Terbatas: Ubah Tema Tailwind CSS Sesuai Keinginan Anda (Part 7)

Rifqi An Rifqi An
Maret 03, 2026


Kustomisasi Tak Terbatas: Ubah Tema Tailwind CSS Sesuai Keinginan Anda (Part 7)

Capek lihat website kita mirip sama ribuan website lain yang pakai Tailwind CSS? Rasanya kok gitu-gitu aja, ya? Warna default, ukuran font, spacing, semua seragam. Nah, kalau kamu pernah merasakan kegelisahan ini, berarti kamu sudah siap naik level! Di Part 7 seri tutorial Tailwind CSS kita kali ini, kita bakal bongkar habis-habisan gimana caranya biar website kamu punya "jiwa" yang unik. Siap-siap ngoprek file konfigurasi dan bikin desain kamu beda dari yang lain!

Daftar Isi

Pendahuluan: Kenapa Kustomisasi Penting?

Coba bayangkan, kamu lagi ngoding proyek impianmu. Udah pakai Tailwind, cepat banget bikin UI. Tapi pas lihat hasilnya, "Loh, kok mirip template yang dipakai teman sebelah, ya?". Ini dia alasan kenapa kustomisasi itu penting banget. Tailwind CSS itu powerful karena dia memberi kita pondasi yang solid, tapi dia juga sangat fleksibel untuk diubah sesuai kemauan. Dengan kustomisasi, kita bisa bikin brand identity yang kuat, memastikan konsistensi desain, dan yang paling penting, bikin website kita stand out dari keramaian. Gak cuma copas doang, tapi bener-bener punya sentuhan pribadi. Jadi, jangan cuma jadi follower, Bro/Sis, tapi jadi trendsetter!

Konsep Dasar: File `tailwind.config.js` adalah Kunci

Oke, sebelum kita mulai "main-main" dengan warna dan font, kita harus kenalan dulu dengan satu file sakti: `tailwind.config.js`. File ini adalah pusat komando semua kustomisasi Tailwind CSS kamu. Hampir semua yang ingin kamu ubah atau tambahkan ke Tailwind, akan kamu lakukan di sini. Secara default, kalau kamu baru setup Tailwind, file ini mungkin terlihat sederhana. Tapi nanti, begitu kita mulai beraksi, dia akan jadi teman ngopi (atau teman lembur) terbaikmu!

Contoh file tailwind.config.js yang masih polos:


// tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "./src/**/*.{html,js,ts,jsx,tsx}",
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}

Nah, semua kustomisasi kita nanti bakal banyak bermain di dalam objek theme: { extend: {} }. Kenapa di extend? Karena kita mau menambahkan atau menimpa nilai default Tailwind, bukan menghapus semua yang sudah ada. Kalau langsung di theme: {}, nilai default Tailwind akan hilang semua. Horor, kan?

Mengubah Warna Default: Biar Gak Boring Itu-Itu Aja!

Salah satu hal paling gampang dan bikin efek paling besar adalah mengubah skema warna. Tailwind punya palet warna yang lengkap, tapi kadang kita butuh warna yang persis sama dengan brand kita. Atau, mungkin bos minta warna pink neon yang gak ada di Tailwind default. Hayooo... Caranya gampang banget. Tinggal tambahin properti colors di dalam theme.extend. Kamu bisa nambahin warna baru, atau bahkan menimpa warna default yang udah ada.

Misalnya, kita mau nambahin warna "biru-langit" dan "merah-hati", plus menimpa warna blue default biar jadi biru yang lebih gelap:


// tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "./src/**/*.{html,js,ts,jsx,tsx}",
  ],
  theme: {
    extend: {
      colors: {
        'biru-langit': '#87CEEB', // Warna kustom baru
        'merah-hati': '#FF69B4', // Warna kustom baru lagi
        blue: { // Menimpa warna 'blue' default Tailwind
          50: '#e0f2fe',
          100: '#bfdbfe',
          // ... sampai 900
          500: '#3b82f6', // Ini nilai blue-500 default
          600: '#2563eb',
          700: '#1d4ed8',
          800: '#1e40af',
          900: '#1e3a8a',
          950: '#172554',
          'gelap-banget': '#0F172A', // Nambahin shade baru di bawah 'blue'
        }
      }
    },
  },
  plugins: [],
}

Setelah di-update, kamu bisa langsung pakai kelas ini di HTML-mu:


<button class="bg-biru-langit text-white font-bold py-2 px-4 rounded">
  Tombol Biru Langit
</button>

<p class="text-blue-gelap-banget">
  Teks ini super gelap.
</p>

Gimana? Gampang banget, kan? Warna website kamu sekarang bisa se-unik imajinasimu!

Menambah Font Sendiri: Biar Website Makin Unik

Selain warna, font juga punya peran besar dalam estetika sebuah website. Tailwind secara default menggunakan font sans-serif, serif, dan monospace generik. Tapi kalau kamu pengen pakai font khusus dari Google Fonts atau font kustom dari desainer, kamu juga bisa lho! Kita akan menggunakan properti fontFamily di theme.extend.

Pertama, pastikan kamu sudah mengimpor font yang kamu inginkan di CSS utama atau di HTML. Misalnya, kita pakai font 'Roboto' dan 'Open Sans' dari Google Fonts:


<!-- Di bagian <head> HTML Anda -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&family=Roboto:wght@400;700&display=swap" rel="stylesheet">

Lalu, di tailwind.config.js, kita daftarkan font-nya:


// tailwind.config.js
const defaultTheme = require('tailwindcss/defaultTheme'); // Penting untuk extend font default

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "./src/**/*.{html,js,ts,jsx,tsx}",
  ],
  theme: {
    extend: {
      fontFamily: {
        // 'sans' di sini akan menggantikan default sans-serif
        // dan menambahkan font kita sebagai prioritas utama
        sans: ['"Open Sans"', ...defaultTheme.fontFamily.sans],
        roboto: ['"Roboto"', ...defaultTheme.fontFamily.sans], // Font kustom baru
        heading: ['"Georgia"', 'serif'], // Font kustom untuk judul
      },
    },
  },
  plugins: [],
}

Perhatikan penggunaan defaultTheme. Ini penting kalau kamu ingin font yang kamu tambahkan menjadi prioritas pertama, tapi tetap ada fallback ke font default jika font kustom tidak tersedia. Praktik yang bagus untuk menghindari error tampilan.

Dan cara pakainya di HTML:


<h1 class="font-heading text-4xl">
  Judul Website Keren
</h1>
<p class="font-roboto text-lg">
  Isi konten pakai font Roboto.
</p>
<span class="font-sans">
  Ini pakai Open Sans (font sans default yang baru).
</span>

Langsung beda banget kan tampilannya? Website kamu kini punya kepribadian sendiri!

Mengatur Spacing (Padding/Margin) Custom: Fleksibilitas Tanpa Batas

Tailwind menyediakan skala spacing yang cukup lengkap (0, 0.5, 1, 1.5, ..., 96). Tapi ada kalanya kamu butuh jarak yang "nanggung", misalnya 1.25rem atau 123px. Daripada bikin CSS manual yang bikin pusing, mending kita tambahin aja di konfigurasi Tailwind!

Kita bisa menambahkan nilai custom di properti spacing dalam theme.extend:


// tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "./src/**/*.{html,js,ts,jsx,tsx}",
  ],
  theme: {
    extend: {
      spacing: {
        '13': '3.25rem', // Contoh ukuran kustom baru
        '15': '3.75rem',
        '200px': '200px', // Ukuran dalam piksel
        'sidebar': '300px', // Bisa juga pakai nama yang deskriptif
      }
    },
  },
  plugins: [],
}

Setelah itu, kamu bisa pakai di kelas seperti p-13, m-15, w-200px, atau pl-sidebar. Fleksibilitasnya jadi bener-bener gak terbatas, dan gak perlu lagi ngoding inline style yang bikin pusing pas lagi nge-debug.


<div class="p-13 bg-gray-200">
  Konten dengan padding kustom.
</div>

<div class="m-200px bg-red-200">
  Konten ini punya margin 200px. Mantap!
</div>

<div class="w-sidebar bg-yellow-100">
  Sidebar ini lebarnya fix 300px.
</div>

Menambah Utilitas Baru: Buat Kelas Sendiri!

Selain kustomisasi warna, font, dan spacing, kamu juga bisa menambahkan utilitas baru yang sama sekali belum ada di Tailwind. Misalnya, kamu butuh properti CSS yang agak spesifik, tapi kamu mau tetap pakai pendekatan utility-first. Contohnya, kita mau bikin kelas untuk text-stroke, sebuah efek teks yang bikin teks punya garis tepi. Ini gak ada di Tailwind default.

Kita bisa tambahkan di properti theme.extend dan tentukan bagaimana kelasnya nanti akan dipanggil:


// tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "./src/**/*.{html,js,ts,jsx,tsx}",
  ],
  theme: {
    extend: {
      // ... kustomisasi warna, font, spacing sebelumnya
      textStroke: { // Nama properti kustom (bebas)
        '1': '1px',
        '2': '2px',
        '4': '4px',
        'tebal': '6px', // Kustomisasi nilai
      },
      textStrokeColor: theme => theme('colors'), // Menggunakan warna dari theme
    },
  },
  plugins: [
    function({ addUtilities, theme, e }) {
      const newUtilities = {
        '.text-stroke-1': {
          '-webkit-text-stroke-width': theme('textStroke.1'),
        },
        '.text-stroke-2': {
          '-webkit-text-stroke-width': theme('textStroke.2'),
        },
        '.text-stroke-4': {
          '-webkit-text-stroke-width': theme('textStroke.4'),
        },
        '.text-stroke-tebal': {
          '-webkit-text-stroke-width': theme('textStroke.tebal'),
        },
        // Tambahkan utilitas untuk warna stroke
        ...Object.entries(theme('textStrokeColor')).map(([key, value]) => ({
          [`.text-stroke-${e(key)}`]: {
            '-webkit-text-stroke-color': value,
          },
        })).flat(),
      };
      addUtilities(newUtilities, ['responsive', 'hover']);
    },
  ],
}

Phew! Bagian ini agak sedikit lebih kompleks karena kita juga harus menambahkan plugin kustom untuk bisa mendefinisikan utilitas baru ini. Tapi ini menunjukkan betapa fleksibelnya Tailwind CSS. Dengan sedikit JavaScript di file konfigurasi, kamu bisa bikin apa aja!

Setelah itu, cara pakainya di HTML akan seperti ini:


<h1 class="text-stroke-2 text-stroke-blue-500 text-white text-6xl font-extrabold">
  Teks Keren Ber-Stroke!
</h1>
<p class="text-stroke-tebal text-stroke-merah-hati text-white text-4xl">
  Wah, ada teks unik!
</p>

Catatan: Properti -webkit-text-stroke ini adalah properti non-standar yang didukung oleh browser berbasis WebKit (Chrome, Safari). Untuk dukungan lintas browser yang lebih luas, kamu mungkin perlu metode lain atau menggunakan properti standar jika sudah ada.

Latihan: Studi Kasus Ngoding Kocak

Selamat! Kamu sudah tahu dasar-dasar kustomisasi Tailwind. Sekarang, saatnya praktik. Skenario: Kamu adalah seorang developer yang diminta untuk membuat website landing page untuk festival "Kucing Ngoding & Ngopi Bareng Programmer Jomblo". Desainernya (yang ternyata suka banget warna ungu dan font retro) mengirimkan spesifikasi gila: 1. Warna Utama: Warna ungu "Jomblo-Unicorn" (#8A2BE2). 2. Warna Aksen: Hijau "Matcha-Code" (#7FFF00). 3. Font Utama: Font pixelated atau retro-looking (misalnya 'Press Start 2P' dari Google Fonts) untuk judul, dengan fallback ke monospace. 4. Padding Khusus: Tambahkan kelas padding kustom p-festival yang nilainya 4rem. 5. Utilitas Baru: Bikin utilitas blur-jomblo yang memberikan efek blur 50px pada elemen. Ini untuk menyembunyikan wajah para programmer jomblo yang malu-malu saat difoto. Tugas kamu adalah mengimplementasikan semua kustomisasi ini ke dalam file `tailwind.config.js` kamu. Setelah itu, buat beberapa elemen HTML (misalnya, judul, tombol, atau div) dan gunakan kelas-kelas kustomisasi yang sudah kamu buat. Semoga berhasil, dan jangan lupa ngopi biar gak nge-bug! Sampai jumpa di Part 8!

Bagikan Artikel Ini