唉,你试图做的事情是不可能用引导程序做的,至少不是你尝试的方式。
与another answer 中的建议相反,甚至与引导官方文档make you believe、.col-*-push-* 和 .col-*-pull-* 的建议相反不会改变列的顺序,只会改变它们的顺序水平位置,因此您不能使用这些类来垂直移动列。
幸运的是,您实际上可以做几件事,它们各有利弊:
用 CSS 改变 div 的垂直位置
这只有在你知道你必须移动过去的元素的高度时才有效,在你的情况下是.d。如果这样做,请更改您的 css 以包含以下内容(根据您的需要调整高度):
.d {
height:50px;
}
@media(min-width:768px) {
.e {
top:-50px;
}
}
full example
用 jQuery 改变 div 的垂直位置
如果你不知道.d的高度,你可以使用jQuery来确定它的高度并相应地改变.es css:
if ($(window).innerWidth() >= 768) {
$('.e').css('top', -$('.d').outerHeight());
}
full example
再次强调:这可以在没有 jQuery 的情况下使用纯 JS 来实现。
使用 jQuery 重新排序元素
这里的关键是不会手动移动元素,但我们实际上会从 DOM 中移除一个元素并将其插入到不同的位置以实际更改元素的顺序:
if ($(window).innerWidth() >= 768) {
$('.e').detach().insertAfter('.c');
}
full example
多次使用元素并根据视口大小显示它们
您可以多次包含一些元素并添加适当的引导类.hidden-xs 和.visible-xs-block
<div class="container">
<div class="row">
<div class="col-sm-8 a">A</div>
<div class="col-sm-4 b">B</div>
<div class="col-sm-8 c">C</div>
<div class="col-sm-4 e hidden-xs">E</div>
<div class="col-sm-8 d">D</div>
<div class="col-sm-4 e2 visible-xs-block">E</div>
</div>
</div>
full example
在可访问性或搜索引擎优化方面可能不是最佳解决方案,但如果您的内容是静态的并且您只对它在屏幕上的外观感兴趣,这是最简单的方法。