Kalau teman-teman pengen bikin website yang keren dan gampang diatur, teman-teman kudu ngerti yang namanya konvensi penamaan CSS. Ini kayak aturan main buat ngasih nama class dan ID di CSS biar kode teman-teman gampang dibaca dan dipelihara. Ada beberapa gaya penamaan yang sering dipake: BEM, OOCSS, SMACSS, dan Atomic CSS. Nih gue jelasin satu-satu dengan bahasa yang asik.
1. BEM (Block, Element, Modifier)
BEM ini pendekatan dari Rusia yang bikin kode teman-teman lebih terstruktur.
- Block: Ini kayak komponen utama, misal tombol atau menu.
- Element: Bagian dari block, kayak item di dalam menu.
- Modifier: Variasi dari block atau element, kayak tombol yang warnanya beda.
<div class="menu">
<ul class="menu__list">
<li class="menu__item menu__item--active">Home</li>
<li class="menu__item">About</li>
<li class="menu__item">Contact</li>
</ul>
</div>
.menu { ... }
.menu__list { ... }
.menu__item { ... }
.menu__item--active { ... }
Kenapa Pake Ini:
- Jelas: Nama-nama class-nya gampang dipahami.
- Gampang Diatur: Kode lebih terorganisir, jadi kalo mau ubah sesuatu, gak bikin pusing.
- Bisa Dipake Ulang: Teman-teman bisa pake komponen yang sama di tempat lain tanpa masalah.
2. OOCSS (Object-Oriented CSS)
OOCSS ini kayak OOP di pemrograman, fokusnya ke komponen yang bisa dipake berulang.
- Memisahkan Struktur dan style: Struktur di satu class, style di class lain.
- Komponen Reusable: Bikin komponen generik yang bisa dipake di mana aja.
Contoh:
<div class="box box--small color-primary">
<p class="text">This is a small box with primary color.</p>
</div>
.box { ... }
.box--small { width: 100px; height: 100px; }
.color-primary { background-color: blue; }
.text { ... }
Kenapa Pake Ini:
- Modular: Teman-teman bisa bikin komponen yang terpisah dan bisa dipake ulang.
- Gampang Diatur: Mudah buat maintain, karena struktur dan style terpisah.
3. SMACSS (Scalable and Modular Architecture for CSS)
SMACSS ini cara buat ngatur CSS yang fleksibel dengan kategorikan aturan jadi lima: Base, Layout, Module, State, dan Theme.
- Base: Style dasar buat elemen HTML.
- Layout: Style buat tata letak utama.
- Module: Komponen yang bisa dipake ulang.
- State: Style buat status khusus dari modul.
- Theme: Variasi tema buat modul atau layout.
Contoh:
<div class="header">
<h1 class="header__title">Website Title</h1>
<nav class="header__nav">
<ul class="nav__list">
<li class="nav__item">Home</li>
<li class="nav__item nav__item--active">About</li>
</ul>
</nav>
</div>
.header { ... }
.header__title { ... }
.header__nav { ... }
.nav__list { ... }
.nav__item { ... }
.nav__item--active { ... }
Kenapa Pake Ini:
- Skalabilitas: Kode tetap rapi walau proyek gede.
- Modular: Bikin komponen yang bisa dipake ulang dengan aturan jelas.
4. Atomic CSS
Atomic CSS ini setiap class cuma punya satu properti CSS, kayak utility-first CSS.
Contoh:
<div class="d-flex justify-center align-items-center p-2">
<p class="text-center font-bold">Hello, world!</p>
</div>
.d-flex { display: flex; }
.justify-center { justify-content: center; }
.align-items-center { align-items: center; }
.p-2 { padding: 0.5rem; }
.text-center { text-align: center; }
.font-bold { font-weight: bold; }
Kenapa Pake Ini:
- Konsisten: Utility classes bikin gaya yang sama di seluruh proyek.
- Cepat: Teman-teman bisa cepat apply gaya tanpa nulis CSS baru.
Kesimpulan
Pake CSS Naming Conventions itu penting biar kode teman-teman rapi dan gampang diatur. Mau pake BEM, OOCSS, SMACSS, atau Atomic CSS, tergantung kebutuhan proyek teman-teman. Yang jelas, dengan penamaan yang konsisten, teman-teman bakal lebih mudah maintain dan ngembangin website teman-teman. Jadi, mulai sekarang coba deh ikutin salah satu konvensi ini, pasti bakal kerasa bedanya! Sampai bertemu di artikel yang lain!!
Top comments (0)