Методологія SMACSS

SMACSS - модульна архітектура для CSS, що маштабується (Scalable and Modular Architecture for CSS).

Категорії:

Base rules - базові стилі для тегів і основних класів (.clearfix, .modal і т.п.).

Layout rules - стилі макета, опис основних елементів, які зустрічаються 1 раз на сторінку (хедер, футер і т.п.).

Modules rules - стилі модулів, окремих блоків, постарайтесь селектори описувати лише класами, без тегів.

State rules - стилі станів модулів і скелета сайта (є сайдбар, немає сайдбара і т.п.).

Theme rules - стилі теми, кольорова гама, шрифти, фони.

Правила іменування

Для станів зручно додавати префікс is-:

.aside.is-hidden { ... }
.faq-item.is-collapsed { ... }

Дочірні елементи модулів повинні мати префікс - назву модуля:

.faq { ... }
.faq-item { ... }
.faq-item.active { ... }

Таким чином можна уникнути перекриття класів іншими модулями, в яких теж можуть бути елементи .item, .active. Річ у тому, що далеко не всі розробники намагаються дотримуватися ієрархії в CSS:

.faq { ... }
.faq .item { ... }
.faq .item.active { ... }

Часто цьому не приділяють уваги і подальше супроводження коду при розростанні проекту стає дуже проблематичним:

.faq { ... }
.item { ... }
.active { ... }