Определение
Независимый блок (НБ или просто блок) это самодостаточный элемент страницы, который при перемещении в другое место на странице или на другую страницу не теряет своей самодостаточности.
Глобальные стили
Чтобы все блоки на странице были независимыми нужно свести использование глобальных стилей к минимуму, использовать только глобальный сброс стилей (global reset).
Вводим префиксы
Для разграничения блоков от вложенных в них элементов, вводим для классов блоков префикс (b-, l-, etc), а классам вложенных элементов префикс не задаём.
Например,
<div class="b-logo">
<img src="..." alt="Рога и Копыта"/>
<i class="shadow"></i>
</div>
В этом примере блок b-logo является самодостаточным (это логотип компании), а shadow не имеет никакого смысла вне этого блока (тень привязана к предмету от которого она падает и без предмета не имеет смысла).
Классы вне блоков не используем
Классы вне блоков не используем, в таблице стилей не должно быть селекторов начинающихся не с префикса (исключения составляют #js и .quirks, об этом позже).
Не используем id
При описании блока id не используется, только class. Главная Причина для отказа от id состоит в том, что мы будем активно использовать множественные классы у одного элемента (например, class="b-logo b-logo_index").
Ещё одна Главная Причина в том, что не надо думать будет этот элемент встречаться на странице один раз (следовательно задавать ему id), или много (а это class). Отказавшись от использования id и перейдя к использованию исключительно классов, мы облегчаем себе работу (меньше думать о не важном) и повышаем гибкость.