说我有这样的布局:
<div id="main">
<div id="NormalContent">
{some content which is a fixed length list}
</div>
<div id="FeaturedContent">
{some content which may contain a long list}
</div>
</div>
我希望将FeaturesContent放在NormalContent之上。
我可以用CSS做到这一点吗?我想我可以使用Javascript吗?
答案 0 :(得分:9)
对于非jquery答案
var content = document.getElementById('FeaturedContent');
var parent = content.parentNode;
parent.insertBefore(content, parent.firstChild);
请注意,无需将其从DOM中删除,再次添加它会移动它。
答案 1 :(得分:5)
这是使用1行jQuery移动它们的更清晰的方法:
$('#FeaturedContent').prependTo('#main');
答案 2 :(得分:2)
在Javascript中,您只需在页面上重新排序即可。
使用CSS,如果它们并排(有某些条件),可以左右交换它们,但不能一个在另一个之上。
答案 3 :(得分:2)
如果您确切知道FeaturedContent&amp;的维度。 NormalContent,你可能能够使用position:relative和玩弄他们的顶级属性。
即
#NormalContent {
position:relative;
top:22px;
}
#FeaturedContent {
position:relative;
top:-22px;
}
但要使它们流动......嗯......不确定你能做到。
使用jQuery,您可以执行以下操作:
$("#NormalContent").remove().insertAfter($("#FeaturedContent"));
答案 4 :(得分:0)
这个答案似乎起作用了。仅限CSS(3),非常优雅的解决方案。
CSS have a div that's to the right below the left div. Divs are reverse in HTML