В зависимости от того, что браузеры вам необходимо поддерживать можно использовать flex-box
. Используя медиа-запрос для размера экрана, вы можете установить order
второго и третьего боксов для переключения ниже определенной ширины экрана.
Я сделал pen с кратким примером. Я бы также рекомендовал CSS Tricks Complete Guide to Flexbox, который говорит о том, как использовать flex
намного лучше, чем я могу.
РЕДАКТИРОВАТЬ:
Основной принцип должен был бы установить родительский элемент (например, контейнер) для display: flex
; это генерирует flexbox и позволяет вам устанавливать разные параметры для детей.
Используя следующий HTML:
<div class="container">
<div class="box first">
Box 1
</div>
<div class="box second">
Box 2
</div>
<div class="box third">
Box 3
</div>
</div>
Если установить display:flex
на .container
, я могу затем установить, должен ли контент отображаться в строке или столбце, следует завернуть вниз линию, имеют место между или вокруг элементы и т. д. Я установил основное правило как строку обертывания, используя flex-flow (который является сокращением для двух других свойств гибкости, включая flex-direction
, которые мне нужны позже), с пространством между элементами.
.container{
display:flex;
flex-flow: row wrap;
justify-content:space-between;
}
я использовать медиа-запрос так, когда браузер является более узким, чем заданной ширины, то flex-direction
получает изменяется от row
к column
@media screen and (max-width:600px){
.container {
flex-direction:column
}
}
Затем в том же запросе СМИ, мне нужно говорят те элементы, которые я хочу, чтобы изменить порядок в каком порядке они должны быть:
@media screen and (max-width:600px){
.container {
flex-direction:column
}
.second{
order: 3;
}
.third{
order: 2
}
}
Иногда я заметил, что order
необходимо определить для всех элементов, поэтому вам может потребоваться установить его для первого блока и сохранить его как order: 1
. Из ручки, связанной с выше, это, похоже, не так, но это то, что нужно следить за другими проектами.
Самый простой способ выполнить эту задачу, чтобы взглянуть на рамках, которые дает инструменты, чтобы сделать это быстро, как самый известный [Сапоги ловушку и его сетчатую систему] (http://getbootstrap.com/css/#grid). –
Я думаю, что каркас работает, если вам это нужно, но для подобных вещей вам действительно не нужна полная структура. –
Возможный дубликат [Использовать CSS для изменения порядка DIV] (http://stackoverflow.com/questions/220273/use-css-to-reorder-divs) –