我不知道,如果你有兴趣在一些jQuery的,但让我提供一点粗糙例如,像结构化编程和可肯定会清理干净,但这可以让您添加一些类并动态重新排列元素,而不必触摸HTML代码。
<div class="first">A</div>
<div class="second">B</div>
<div class="third">C</div>
CSS:
.first {
float: left;
width: 100%;
}
.second {
float: left;
width: 100%;
}
.third {
float: left;
width: 100%;
}
#left-row {
width: 50%;
float: left;
}
.need-wrapper-right {
width: 50%;
float: right;
}
的jQuery
jQuery(document).ready(function($) {
if ($(window).width() < 800) {
$(".second").detach().insertAfter(".first");
$(".first").addClass("need-wrapper-left");
$(".second").addClass("need-wrapper-left");
$(".third").addClass("need-wrapper-right");
$(".need-wrapper-left").wrapAll("<div id='left-row'>");
$(".second").detach().insertAfter(".first");
$(".third").insertAfter($("#left-row"));
}
});
检查Codepen演示(该代码被设置为重新排列下面800像素元件)。你可以查看关于.detach(),addClass()和其他函数的jQuery文档。
编辑:另外,你应该使用媒体查询,所以这些CSS类只适用于较低的分辨率。
没有包装你不能。 – dippas
您可能想看看[flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/)。我没有足够的知识来提供完整的答案,但我曾经有类似的需求。 – GigiSan