Lewati ke konten utama

@apply Directive

Salah satu kritik utama Tailwind adalah kode HTML menjadi kotor dan sangat panjang. Fitur @apply memungkinkan kita membuat Custom Class sendiri di file CSS, tapi tetap menggunakan kekuatan utility Tailwind.

Masalah: Class Terlalu Panjang

Misalkan kita punya tombol yang dipakai di banyak tempat:

<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
Tombol Login
</button>

<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
Tombol Register
</button>

Solusi: Ekstrak ke CSS

Buka file CSS utama Anda (tempat Anda menaruh @tailwind base), lalu tambahkan kode ini:

@tailwind base;
@tailwind components;
@tailwind utilities;

/* Custom Class Baru */
@layer components {
.btn-primary {
@apply bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded;
}
}

Hasil: HTML Bersih

Sekarang di HTML, Anda cukup memanggil nama kelas barunya.

<button class="btn-primary">
Tombol Login
</button>

<button class="btn-primary">
Tombol Register
</button>
Jangan Berlebihan

Jangan gunakan @apply untuk setiap elemen. Gunakan hanya untuk komponen yang benar-benar sering dipakai berulang (seperti Tombol, Input Form, atau Card). Jika dipakai berlebihan, Anda malah kembali ke cara lama (CSS Tradisional) dan kehilangan fleksibilitas Tailwind.