You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bootstrap 5中实现屏幕尺寸变化时反转列的堆叠顺序

解决Bootstrap列堆叠顺序反转的问题

这问题我太熟了!用Bootstrap自带的响应式flex工具类就能轻松搞定,完全不用额外写CSS。核心就是利用**order-*系列类**来控制不同屏幕尺寸下的列排列顺序。

思路拆解

Bootstrap的.row默认是flex容器,里面的列都是flex项。order-*类可以调整flex项的排列优先级,数字越小,排列越靠前。我们的需求是:

  • 在**桌面端(md及以上屏幕)**保持原顺序:Col A 左,Col B 右
  • 在**移动端(sm及以下屏幕)**反转顺序:Col B 在上,Col A 在下

修改后的代码

最简单的写法是这样的,只给列加响应式的order类即可:

<div class="container-fluid">
  <div class="row">
    <div class="col-md-8 col-sm-12 order-sm-2">
      <p>A</p>
    </div>
    <div class="col-md-4 col-sm-12 order-sm-1">
      <p>B</p>
    </div>
  </div>
</div>

类名解释

  • order-sm-2:在sm及更小的屏幕(比如手机)上,把Col A的排列优先级设为2,会排在后面
  • order-sm-1:在sm及更小的屏幕上,把Col B的排列优先级设为1,会排在前面
  • 至于md及以上的屏幕,因为我们没加order-md-*类,列会自动回到HTML里的默认顺序(Col A在前,Col B在后),完美符合你的需求!

如果想要更清晰(避免后续修改混淆),也可以显式加上桌面端的order类,效果完全一样:

<div class="container-fluid">
  <div class="row">
    <div class="col-md-8 col-sm-12 order-sm-2 order-md-1">
      <p>A</p>
    </div>
    <div class="col-md-4 col-sm-12 order-sm-1 order-md-2">
      <p>B</p>
    </div>
  </div>
</div>

小提示

这个方法适用于Bootstrap 4和5版本,这两个版本都全面支持响应式的flex布局工具类。如果是更老的Bootstrap 3,那得用自定义媒体查询来调整浮动顺序,但现在基本没人用3了,就不多说啦~

内容的提问来源于stack exchange,提问作者spotpush

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 16:32:31