2017-02-13 9 views
3

Я хочу изменить позицию элемента div [в порядке просмотра документа] по запросу мультимедиа.Как я могу переупорядочить HTML, используя медиа-запросы?

<div>1</div> 
 
<div>2</div>

Когда я изменить окно просмотра, то я хочу div_1 пребывания под div_2. В основном div_1 наверху. Но я хочу изменить его по запросу Media. Можно ли ???

ответ

8

Использование flexbox и его свойство order

Я рекомендую .wrapper, хотя вы можете использовать его на body, а также и получить тот же результат

@media screen and (max-width: 800px) { 
 
    .wrapper { 
 
    display: flex; 
 
    flex-direction: column; 
 
    } 
 
    .wrapper div:first-child { 
 
    order: 1; 
 
    } 
 
}
<div class="wrapper"> 
 
    <div>1</div> 
 
    <div>2</div> 
 
</div>

Если flexbox не является вариантом, вы можете использовать display: table

@media screen and (max-width: 800px) { 
 
    .wrapper { 
 
    display: table; 
 
    width: 100%; 
 
    } 
 
    .wrapper div:nth-child(1) { 
 
    display: table-footer-group; 
 
    } 
 
}
<div class="wrapper"> 
 
    <div>1</div> 
 
    <div>2</div> 
 
</div>

+1

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