2016-07-08 5 views
0

Я хотел бы переупорядочить некоторые div, используя только CSS, если это возможно. Вот HTML пример я хочу изменить порядок:Переупорядочить div с помощью CSS

<div class="block1"> 
    Block1 
</div> 
<div class="block2"> 
    <div class="subblock1">S-Block1</div> 
    <div class="subblock2">S-Block2</div> 
    <div class="subblock3">S-Block3</div> 
</div> 

И это графический результат я хочу:

S-Block1 
S-Block2 
Block1 
S-Block3 

Я уже пробовал играть с display: flex; и order: X, но без успеха. Основная проблема заключается в том, что я хочу разделить block2 до и после block1. Дисплей flex позволяет мне изменять порядок блока одного и того же уровня.

Я бы очень хотел, чтобы у меня было решение, которое не использует JavaScript для повторной записи DOM (если взять subblock3 и поместить его в другое место, чтобы угодить моему CSS), если это возможно.

+3

Для этого нет ни одного решения для CSS, даже flexbox. –

+0

Зачем вам 2 родительских блока? – LGSon

+0

Вы можете подделать его, добавив пространство и вручную позиционируя каждый блок в том же мультимедийном запросе, где вы пытались изменить порядок, но это не даст надежных результатов. Это потребует от JS права. – TylerH

ответ

0

Это это невозможно и javascript - это не вариант для моей проблемы.

Вот пример кода, который я использовал (требуется jQuery).

$(".subblock2").prependTo(".form-wrapper"); 
$(".subblock1").prependTo(".form-wrapper"); 
Смежные вопросы