Как реализовать такую расстановку блоков на FlexBox CSS?

Подскажите пожалуйста, с помощью чего и как можно реализовать вот такую расстановку блоков?
5de8ae9b837b8237203542.jpeg

Пробовал через FlexBox CSS, но получилось только так «CodePen»
  • Вопрос задан
  • 1273 просмотра
Решения вопроса 4
sfi0zy
@sfi0zy Куратор тега CSS
Creative frontend developer
С помощью чего и как можно реализовать вот такую расстановку блоков?

На ум сразу приходит masonry.
Ответ написан
Комментировать
Eridani
@Eridani
Мимо проходил
Это column count
.blog__block {
    column-count:3;
}

.blog__item {
    width:100%;
  margin-bottom: 30px;
    border-radius: 4px;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.10);
}
Ответ написан
@LeonidPokrovskiy
Легко и просто! На чистом CSS сделал: https://codepen.io/CitizenOne/pen/abzOJYK

Можно даже без FLEX сделать
Ответ написан
Комментировать
BusteR27
@BusteR27
Lead bitrix dev
На js - masonry.
На flexbox - вижу решение: flex-flow: column wrap и задать высоту контейнера
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
algaucho
@algaucho
Web разработчик на CMS Bitrix
Есть один момент не всегда очевидный, все решения столбцами, и column и flex-direction: column, приведут к непривычной сортировке. Если у вас есть правило например, что первыми должны идти свежие, то при этих решениях вы этого не получите.
Единственный вариант - массонри, там тоже будет сбой порядка следования, но он несравним с предыдущими решениями.
Ответ написан
Комментировать
@Diatomiccoder
https://webformyself.com/css-masonry-s-pomoshhyu-f...
Вот в этой статье описано решение masonry-grid сетки. Но у этого метода есть одна проблема... Контейнеру нужно задавать высоту фиксированную.

Если делать через column-count, то возникнут проблемы (особенно если хотите сделать что-то вроде "бесконечной ленты/скролла").
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час