CSS Methodologies — CSS

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

Waktu project membesar, nama class gampang tabrakan: dua komponen sama-sama punya .title, lalu CSS yang satu ikut mengubah yang lain. Metodologi CSS adalah aturan penamaan class yang disepakati satu tim, biar CSS tetap rapi dan gak saling tabrakan. Kayak label rak di gudang: dari labelnya aja kamu tahu barang itu milik rak yang mana.

🧪 Tebakan cepat: di nama .card__title--besar, mana bagian block, element, dan modifier? Tebak dulu, jawabannya ada di bagian "Penamaan BEM".

Penamaan BEM

BEM singkatan dari Block Element Modifier. Ini kartu menu yang class-nya ditulis dengan BEM:

<div class="card card--active">
  <h3 class="card__title">Nasi Goreng</h3>
  <p class="card__price">Rp 25.000</p>
</div>

<style>
.card { padding: 16px; border: 1px solid #ddd; }
.card__title { font-size: 20px; }
.card__price { color: gray; }
.card--active { border-color: blue; }
</style>

Hasilnya, judul kartu 20px, harganya abu-abu, dan bingkainya biru karena kartunya aktif. Dari nama card__price aja kelihatan class itu punya kartu. Kalau komponen lain punya .title, judul kartu ini gak ikut berubah, karena namanya .card__title.

Element juga boleh punya modifier: .card__title--besar adalah judul kartu versi besar. Jadi jawaban tebakan: card block, title element, besar modifier.

CSS-nya tetap CSS biasa

BEM cuma soal nama. Tiap class tetap diatur pakai selector class biasa, titik di depan lalu nama lengkapnya:

.card__title { font-size: 20px; }

Nama di CSS harus persis sama dengan di HTML, termasuk jumlah garis bawahnya. .card_title dengan satu garis bawah itu class lain, jadi aturannya gak kena ke <h3 class="card__title">.

Cara lain menamai class

Semuanya punya tujuan yang sama: nama class yang konsisten dan gampang dirawat, jadi CSS satu komponen gak mengganggu komponen lain. Yang paling penting, pilih satu cara lalu pakai terus di seluruh project.

⚠️ Jebakan yang sering ketemu

TL;DR: Metodologi CSS adalah aturan penamaan class biar CSS konsisten dan gak tabrakan. BEM menulis block__element--modifier: __ sebelum element, -- sebelum modifier, contohnya .card__title--besar. CSS-nya tetap selector class biasa, dengan nama yang persis sama dengan di HTML. Ada juga SMACSS, utility-first, dan CSS Modules. Pilih satu, lalu konsisten.

Yang akan kamu pelajari