Как переверстать блоки при помощи CSS?

Имеются контейнеры следующей структуры:

<div id="parent">
    <div class="odd"></div>
    <div class="even"></div>
    <div class="odd"></div>
    <div class="even"></div>
    <div class="odd"></div>
    <div class="even"></div>
    <div class="odd"></div>
    <div class="even"></div> 
</div>


Можно ли с помощью только одного CSS преобразовать отображение контейнеров так, как изображено на рисунке?

fd0bee68c06a4792aa111363f8a86421.jpg
  • Вопрос задан
  • 364 просмотра
Решения вопроса 1
webirus
@webirus
Тыжверстальщик! Наверстай мне упущенное...
Оригинал - https://jsfiddle.net/bjopf7o1/
Перестройка - https://jsfiddle.net/53jsxowg/

Вся магия в коде:

.wrapper {
  width: 150px;
}

.wrapper {
  width: 450px;
  display: flex;
  flex-direction: column;
  height: 70px;
  flex-wrap: wrap;
}

Еще вариант - https://jsfiddle.net/009qhczy/

.wrapper {
  width: 450px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.block:nth-child(odd) {
  order: 1;
}
.block:nth-child(even) {
  order: 2;
}

Для особо ярых противников flex - https://jsfiddle.net/rxe51vtf/
Решение с использованием абсолютного позиционирования.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
AndrewHaze
@AndrewHaze
Умею гуглить яндексом
@raw1
попробуй
parent div:nth-child(n/2) {
      clear:both
}

Может n/3
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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