Catatan Belajar · · 3 menit baca
Belajar Tailwind CSS v4: dari instalasi sampai design token
Tutorial Tailwind v4 dari praktik nyata situs ini: instalasi Vite/CLI, model mental utility-first, responsive mobile-first, design token @theme, dan kapan (tidak) memakai @apply.
Tailwind CSS mengganti file CSS panjang dengan utility class langsung di HTML. Awalnya terlihat “kotor” — sampai kamu sadar tidak pernah lagi memikirkan penamaan class atau takut menghapus CSS lama. Situs yang sedang kamu baca dibangun penuh dengan Tailwind v4; tutorial ini caraku memakainya.
1. Instalasi (Tailwind v4)
Prasyarat: Node.js 20+. Dua jalur, pilih sesuai project:
Dengan Vite (Vue, React, Astro):
npm install tailwindcss @tailwindcss/vite
// vite.config.js
import tailwindcss from "@tailwindcss/vite";
export default { plugins: [tailwindcss()] };
Dengan CLI (project apa pun — cara yang dipakai situs ini):
npm install tailwindcss @tailwindcss/cli
npx @tailwindcss/cli -i styles/input.css -o public/site.css --watch
Lalu satu baris di file CSS-mu — di v4 tidak ada lagi tailwind.config.js wajib:
/* styles/input.css */
@import "tailwindcss";
2. Cara berpikirnya: utility, bukan komponen CSS
<!-- Dulu: tulis CSS, beri nama, jaga selamanya -->
<button class="btn-primary">Beli</button>
<!-- Tailwind: gaya langsung terbaca di tempat -->
<button class="bg-teal-600 px-4 py-2 text-white hover:bg-teal-700">Beli</button>
Kelas yang paling sering kamu pakai minggu pertama: spacing (p-4, mt-6, gap-3), layout (flex, grid, items-center, justify-between), tipografi (text-sm, font-semibold, tracking-tight), warna (bg-*, text-*, border-*).
3. Responsive & state: prefix, bukan media query
<div class="grid grid-cols-1 gap-4 md:grid-cols-3">
<!-- 1 kolom di HP, 3 kolom mulai 768px -->
</div>
<a class="text-zinc-500 transition-colors hover:text-zinc-900">Link</a>
Aturannya mobile-first: kelas tanpa prefix berlaku di semua ukuran, md: menimpanya mulai 768px ke atas. Ini satu-satunya model mental yang perlu kamu kunci.
4. Design token dengan @theme (v4)
Warna brand situs ini didefinisikan sekali, lalu jadi utility otomatis:
@import "tailwindcss";
@theme {
--color-ink: #09090b;
--color-accent: #0d9488;
--font-display: "Geist", sans-serif;
}
Sekarang text-ink, bg-accent, font-display tersedia di mana-mana — konsistensi tanpa disiplin ekstra.
5. Kelas berulang? Komponen, bukan @apply
Kalau deretan kelas yang sama muncul di lima tempat, jangan buru-buru @apply — ekstrak jadi komponen (JSX/Blade/Vue) supaya markup + gayanya satu paket. @apply kupakai hemat, hanya untuk pola global seperti .btn-primary di design system.
Tips dari pengalaman
- Editor wajib pasang ekstensi Tailwind CSS IntelliSense — autocomplete + preview warna mengubah pengalaman belajar total.
- Tailwind hanya men-generate kelas yang tertulis di file yang dipindainya — kelas yang dirakit dinamis (
"text-" + warna) tidak akan ada di output. Tulis kelas lengkap. - Bug klasik yang pernah menggigitku di situs ini: konten min-width melebihi viewport HP. Penawarnya hafalkan trio
min-w-0,truncate, danflex-wrap. - v4 jauh lebih cepat dan config-nya CSS-first — kalau tutorial lain menyuruhmu membuat
tailwind.config.js+content: [...], itu gaya v3.
Mau fitur seperti ini dibangun untuk bisnismu?