CSS Methodologies — CSS

Saat project membesar, CSS bisa menjadi sulit dikelola. Metodologi CSS membantu mengorganisir kode. 1. BEM (Block Element Modifier): /* Block */ .card { } /* El

Saat project membesar, CSS bisa menjadi sulit dikelola. Metodologi CSS membantu mengorganisir kode.

1. BEM (Block Element Modifier):

/* Block */
.card { }

/* Element (bagian dari block) */
.card__title { }
.card__body { }

/* Modifier (variasi) */
.card--featured { }
.card__title--large { }

Pola: .block__element--modifier

2. CSS Modules: File CSS yang di-scope otomatis per komponen (umum di React/Vue):

/* Button.module.css */
.btn { padding: 8px 16px; }
/* Menjadi: .Button_btn_x7k2 (unik) */

3. Utility-First (Tailwind CSS):

<div class="flex items-center gap-4 p-4 rounded-lg bg-white">

Kapan pakai apa?

Tips: Konsistensi lebih penting dari metodologi. Pilih satu dan pakai terus.

🎭 Analogi sehari-hari

Coba bayangin gudang Tokopedia. Tanpa sistem labelin barang yang konsisten, kacir cari satu produk saja bisa abis 1 jam. Sama halnya CSS di project gede — tanpa methodology, kamu bakal punya 5000 baris CSS yang gak ketemu siapa override siapa. BEM kasih label hierarki rapi (block__element--modifier). Utility-first (Tailwind) kayak sticker fungsional (flex, p-4, text-red) yang ditempelin langsung. CSS Modules kasih kunci pribadi tiap komponen. Pilih satu, konsisten — itu yang penting.

⚠️ Jebakan yang sering ditemui

TL;DR: Methodology CSS = sistem organize CSS biar gak chaos di project gede. BEM (block__element--modifier) = vanilla CSS / tim besar. CSS Modules = scope otomatis per komponen, butuh bundler (React/Vue). Utility-First (Tailwind) = class fungsional langsung di HTML (flex p-4 bg-white), modern + rapid. Aturan emas: konsistensi > metodologi. Pilih satu, jangan mix. Refactor naming convention di codebase besar = sakit kepala.

Yang akan kamu pelajari