小编典典

如何更改移动布局上的 Bootstrap 3 列顺序?

all

我正在制作带有顶部固定导航栏的响应式布局。下面我有两列,一列用于侧边栏 (3),一列用于内容 (9)。在桌面上看起来像这样

导航栏
[3][9]

当我resize移动时,它navbar被压缩和隐藏,然后侧边栏堆叠在内容的顶部,如下所示:

导航栏
[3]
[9]

我想要顶部的主要内容,所以我需要将移动设备上的顺序更改为:

导航栏
[9]
[3]

我发现这篇文章涵盖了相同的观点,但已接受的答案已被编辑为说解决方案不适用于当前版本的 Bootstrap。

如何在移动设备上重新排序这些列?或者,我怎样才能让 sidbar 列表组进入我的扩展导航栏?

这是我的代码:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<div class="navbar navbar-inverse navbar-static-top">
  <div class="container">
    <a href="#" class="navbar-brand">Brand Title</a>
    <button class="navbar-toggle" data-toggle="collapse" data-target=".navHeaderCollapse">
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
    </button>
    <div class="collapse navbar-collapse navHeaderCollapse">

    <ul class="nav navbar-nav navbar-right"><!--original navbar-->
      <li class="active"><a href="#">Home</a></li>
      <li><a href="#">FAQ</a></li>
    </ul>

    </div>
  </div>
</div><!--End Navbar Div-->
    <div class="container">
  <div class="row">

    <div class="col-lg-3">
  <div class="list-group">
    <a href="#" class="list-group-item">
    <h4 class="list-group-item-heading">Lorem ipsum</h4>
    <p class="list-group-item-text">Lorem Ipsum is simply dummy text.</p></a>
  </div>
</div><!--end sidebar-->


<div class="col-lg-9">
  <div class="panel panel-default">
    <div class="panel-body">
      <div class="page-header">
     Main Content
    </div>
  </div>
</div><!--end main content area-->

阅读 77

收藏
2022-04-13

共1个答案

小编典典

您无法在小屏幕中更改列的顺序,但您可以在大屏幕中更改。

所以改变你的列的顺序。

<!--Main Content-->
<div class="col-lg-9 col-lg-push-3">
</div>

<!--Sidebar-->
<div class="col-lg-3 col-lg-pull-9">
</div>

默认情况下,这首先显示主要内容。

所以在移动主要内容首先显示。

通过使用col-lg-pushcol-lg-pull我们可以在大屏幕中重新排序列,并在左侧显示侧边栏,在右侧显示主要内容。

在这里工作jsfiddle

2022-04-13