当前位置: 首页 > 知识库问答 >
问题:

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

澹台蕴藉
2023-03-14

我正在做一个响应式的布局,上面有一个固定的导航条。在下面我有两个列,一个用于边栏(3),一个用于内容(9)。桌面上的内容如下所示

Navbar
[3][9]

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

Navbar
[3]
[9]

我会喜欢最上面的主要内容,所以我需要把移动上的顺序改成这样:

Navbar
[9]
[3]

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

我如何在移动上重新排序这些栏目?或者,如何将sidbar列表组放入扩展的NavBar中?

下面是我的代码:

null

<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-->

null

共有2个答案

南宫鸿晖
2023-03-14

2018年更新

对于基于Bootstrap 3的原始问题,解决方法是使用推拉。

在Bootstrap 4中,现在可以更改顺序,即使是当列是全宽垂直堆叠时,也要感谢Bootstrap 4的FlexBox。OFC,推拉方法仍然会起作用,但现在在引导4中有其他方法可以改变列顺序,使全宽列重新排序成为可能。

方法1-对XS屏幕使用flex-column-reverse:

<div class="row flex-column-reverse flex-md-row">
    <div class="col-md-3">
        sidebar
    </div>
    <div class="col-md-9">
        main
    </div>
</div>

方法2-将顺序优先用于XS屏幕:

<div class="row">
    <div class="col-md-3">
        sidebar
    </div>
    <div class="col-md-9 order-first order-md-last">
        main
    </div>
</div>

引导程序4(alpha 6):http://www.codepley.com/go/bbmosvtjhd
引导程序4.1:https://www.codepley.com/go/e0v77ygtcr

原始3.x答案

对于基于Bootstrap 3的原始问题,解决方案是对较大宽度使用推挽,然后列将显示它们在较小(xs)宽度上的自然顺序。(A-B反向至B-A)。

<div class="container">
    <div class="row">
        <div class="col-md-9 col-md-push-3">
            main
        </div>
        <div class="col-md-3 col-md-pull-9">
            sidebar
        </div>
    </div>
</div>

引导程序3:http://www.codepley.com/go/wgzjxs3gel

@emre说,“你不能在小屏幕上改变列的顺序,但你可以在大屏幕上这样做”。但是,这应该澄清为声明:“您不能更改全宽”堆叠“列的顺序..”在引导程序3中。

壤驷经国
2023-03-14

您不能在较小的屏幕中更改列的顺序,但可以在大屏幕中这样做。

因此更改列的顺序。

<!--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可以对大屏幕中的列进行重新排序,左侧显示边栏,右侧显示主要内容。

在这里拉小提琴。

 类似资料:
  • 问题内容: 我正在使用顶部固定的导航栏进行响应式布局。在下面,我有两列,一列用于侧栏(3),一列用于内容(9)。在桌面上看起来像这样 导航栏 [3] [9] 当我将其压缩并隐藏时,侧边栏会堆叠在内容的顶部,如下所示: 导航栏 [3] [9] 我想要顶部的主要内容,因此我需要将移动设备的顺序更改为此: 导航栏 [9] [3] 如何在移动设备上重新排列这些列?或者,如何将sidbar列表组放入正在扩展

  • 我正在为客户编辑时事通讯,我一直被困在这个。。。 这是我的桌子的例子 https://jsfiddle.net/xocrqwLs/ 问题是移动设备看起来像这样 我想让它看起来像这样 如何更改移动设备的表列? 谢谢你!

  • 我错过了什么? 为了便于阅读,这里提供了一个要点,并附带了一个测试用例:https://Gist.github.com/teyc/5668517

  • 我有以下(): 我按分配添加更多列: 如何将列移到前面,即将其设置为第一列,其他列的顺序保持不变?

  • 问题内容: 我有以下: 我通过分配添加了更多列: 如何将列mean移到最前面,即将其设置为第一列,而其他列的顺序保持不变? 问题答案: 你还可以执行以下操作: 你可以通过以下方式获取列列表: 输出将产生: …然后轻松将其放到第一个功能中即可手动重新排列

  • 也许我错了...但是据我所知,所有的Jitsi会议元素(主页和房间页面)都是使用已经缩小的脚本构建的,其中一些还连接到jitsi服务器内的文件。 有可能改变Jitsi会议的布局吗HTML(家/房间)基于我的自定义布局?怎样?