Привык работать с CSS-фреймворками, но сейчас нужно сделать пару проектов без них.
Как и всегда нужна колоночная сетка в некоторых местах.
Есть два варианта действий:
1. Сделать также как сделано в фрейморках - создать(или скачать готовый) набор общих сеточных классов. Всё стандартно - .row .columns и т.д.
Дальше использовать их по всему проекту верстая как с фреймворком:
<div class="row">
<div class="column large-12">
<div class="top">
content
</div>
</div>
</div>
<div class="row">
<div class="column large-6">
<div class="some-section">
some content
</div>
</div>
<div class="column large-6">
<div class="information">
some content
</div>
</div>
</div>
И так далее. Вся вёрстка строится на дивах которые определяют сетку и внутри уже оформляются блоки с контентом.
Второй вариант - писать "сеточные" правила для каждого блока и строить разметку вот так:
<div class="top">
Some content
</div>
<div class="block">
<section class="block__element">
some content
</section>
<section class="block__element">
some content
</section>
</div>
В этом случае у меня нет общего набора сеточных классов. Следовательно, каждый новый блок на сайте в котором нужно как-то расположить элементы это дублирование CSS.
Под дублированием я имею ввиду, что нужно объявить родителю display: flex (например), дочерним элементам тоже задать стили которые определят их место, ширину и т.д.
Следовательно, чем больше сайт, тем больше "кастомных" сеток для каждого блока.
По идее это не должно быть особой проблемой т.к. 1 - есть миксины и 2 - gzip.
Мой вопрос: как правильно поступить и как это делают хорошие верстальщики?