Войти с помощью github
Форум /

Предположим, что у нас есть макет, в котором два элемента выглядят одинаково, но по смыслу разные (недавно возникла такая ситуация в рабочем проекте). Например: меню в сайдбаре выглядит как список походих постов.

Как стоит верстать / разбивать на блоки?

 

У меня возникли следующие варианты (с их недостатками):

1. Сверстать как один блок. Проблемы начнутся, когда в новой версии дизайна один из этих блоков вдруг начнёт выглядеть по-другому или, что ещё хуже, чуть по-другому. Тогда потребуется мешать лапшу из модификаторов и каскадов, что не гуд. Ещё недостаток - как назвать этот блок?..

2. Сверстать как два разных блока. Недостаток - дублирование кода; зато внесение изменений в один из блоков не затронет другой. И с называнием проще.

3. Сверстать как два разных блока, но вынести общие визуальные свойства в примеси. Решается проблема дублирования, но добавляется вот такой ужас: nav.sidebar-menu.i-rounded.i-bordered.i-dashed.i-something-else.


Как бы вы поступили и почему?