Не существует универсального способа переупорядочения элементов с помощью css.
Вы можете изменить их порядок по горизонтали, переместив их все вправо. Или вы можете расположить их абсолютно по отношению к телу или какому-либо другому содержащему элементу, но это имеет серьезные ограничения относительно размера элементов и расположения относительно других элементов на странице.
Краткий ответ: Вы можете достичь этого только в очень ограниченных обстоятельствах. Изменение порядка элементов лучше всего выполнять в разметке.
Если у вас нет контроля над html, вы можете использовать javascript. Здесь с помощью jQuery:
$("#div2").insertAfter("#div3");
$("#div1").prependTo("#div2");
Я, конечно, не рекомендую, если ваши руки не связаны. Его будет сложнее поддерживать, и для ваших конечных пользователей ваша страница будет «дергаться» при настройке страницы.