massef
@massef

Две сетки с разным количеством колонок, как быть?

Пример блока с товарами на странице каталога
Сверху сетка из 15 колонок под разрешение 1920
Снизу стандартная сетка из 12 колонок под разрешение 1366
921d7b487b.jpg

Или я туплю или дизайнер "нехороший человек". Но держать на проекте две сетки, помоему бред?

И второй вопрос по блоку в две строки справа.
Я так понимаю, что на флексах это не решить, при условии что не используются обертки для колонок в верхних рядах? То есть они в разметке идут друг за другом.

<div class="row">
    <div class="col-md-3"> 1 </div>
    ....
    <div class="col-md-3"> 15 </div>
</div>


Про гриды знаю
  • Вопрос задан
  • 475 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimovich85
@dimovich85 Куратор тега CSS
https://u-academy.net/
Насчет сетки, могу предложить вот такой инструмент: https://www.npmjs.com/package/smart-grid
Видео о том, как с ней работать можно посмотреть вот тут:https://www.youtube.com/watch?v=KFVoIzaGPYg&list=P...
Эту сетку можно сгенерировать под любое кол-во колонок и с любыми межколоночниками. Настройки для генерации сетки задаются в smart-grid.js, а сама генерация происходит через Node.js. Можно задать сначала сетку на 15 колонок и межколоночник в столько-то пикселей, сохранить препроцессорный файл на выходе просто переименовав его, а потом поменять настройки под сетку на 12 колонок, только задать разные префиксы для примесей.
Сам пользуюсь, и рекомендую. Для кроссбраузерности можно использовать для построения сетки не флексы, а инлайнблоки, а для межколоночника указать значения в процентах. Можно и по деолту все оставить, и сетку на флексах сделать, так как они уже хорошо работают.

2. Если я правильно понял суть дела, то можно задать флекс-контейнеру flex-direction: column, чтобы они по вертикали строились flex-wrap:wrap, чтобы переносились на новую вертикальную ось, далее надо задать высоту родителю, чтобы блоки переносились на новый ряд, поиграться с justify-content, align-content, align-items, а тем блокам, которые надо вынести вправо задать два самых больших ордера и задать им базис по приблизительно 50% (кальк 50%-20рх).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы