Есть задача сделать ленту постов, которая будет динамически подстраиваться под ширину экрана пользователя. Сложность в том, что при достаточно больших разрешениях посты выводятся в 2 колонки, а при уменьшении разрешения - в одну.
Ленту в 2 колонки пробовал сделать поочередным добавлением float
left
и right
в зависимости от четности элемента:
.post:nth-of-type(2n+1) {float: left; width: 50%;}
.post:nth-of-type(2n) {float: right; width: 50%;}
При уменьшении разрешения media
убирает float
и все идет в одну колонку.
Это решение рабочее, но у него есть существенный минус.В ленте периодически образуются разрывы из-за того, что посты имеют разную высоту и float:left
может попасть вправо, а float:right
может попасть влево.
Как можно нормально вывести ленту постов под эту задачу только средствами css?
Схематически то, что происходит сейчас:
Для родителя
display:flex;
justify-content: space-between; /*Выравнивание элементов по в соответствии с основной осью, в контейнере*/
flex-wrap: wrap; /*Что бы переносилось на новую *строку* */
Для блоков уже
marging: 10px ;/*для отсупов*/
max-width: 350px;
width: 50%;
Сам метод полностью рабочий и сам будет сбрасываться на новые строки
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть какой-то официальный источник со всеми стандартами HTML5 и CSS на русском языке?
Как спарсить нужную ссылку, если на странице много одинаковых классов и номер всегда разный я про [0, и тп
Какие есть способы замены черного изображения на белое с помощью css при :hover?