@quiplunar

Как реализовать такое?

Как реализовать такое:

[][][][]
[       ]
[][][][]
[       ]

-------

[][][]
[     ]
[][][]
[     ]

-------

[][]
[   ]
[][]
[   ]
  • Вопрос задан
  • 109 просмотров
Решения вопроса 2
@maximrabotaet
Самый простой вариант задать в медиа-запросах order для блоков, при верстке с флексбоксами
.block_container{
    display: flex;
    flex-flow: row wrap;
}
/*
[][]
[   ]
[][]
[   ]
*/
.block-1, .block-2{ order: 1}
.banner-1{ order: 2}
.block-3, .block-4{ order: 3}
.banner-2{ order: 4}
/*...*/

/*
[][][]
[     ]
[][][]
[     ]
*/
@media (min-width: 768px){
    .block-1, .block-2, .block-3{ order: 1}
    .banner-1{ order: 2}
    .block-4, .block-5, .block-6{ order: 3}
    .banner-2{ order: 4}
/*...*/
}
/*...*/
Ответ написан
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега CSS
Руководитель frontend направления, предприниматель
Нус, скажем, ты можешь взять JS, посчитать количество блоков (n), которые на данном вьюпорте вмещаются в строки и повтыкать баннер в подходящие тебе условия n+1 с параметрами, которые выстроят его на всю ширину.

С JS ты можешь нагородить проверок, повесить onresize для перерасчета, но легче, пожалуй, будет на CSS набрать, как Макс +- описал.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы