在桌面和移动视图上重新排序引导列

Posted

技术标签:

【中文标题】在桌面和移动视图上重新排序引导列【英文标题】:Re-ordering bootstrap columns on desktop and mobile views 【发布时间】:2015-08-05 19:35:02 【问题描述】:

基本上,我希望右侧边栏中的某个列(搜索)在移动设备上位于顶部,并且在桌面视图上仍保持右侧边栏。

这就是我目前所拥有的......

<div class="container">
    <div class="col-md-3 col-md-push-9">B</div>
    <div class="col-md-9 content col-md-pull-3">A</div>
    <div class="col-md-3 col-md-push-9">C</div>
</div>

在移动设备上看起来像这样(这是我想要的)

| B |
| A |
| C |

但是,在桌面上,它看起来像这样(B 和 C 之间存在我不想要的差距)

| A | B |
| A |   |
|   | C |

它的外观如下:http://www.codeply.com/go/guzmu84ybo

有什么想法吗?

【问题讨论】:

它看起来不像 Bootply 中的第二个结构:bootply.com/5v9bsQfwQg 如果 A 的内容足够长就可以了。 抱歉,没有意识到我需要注册才能保存代码 sn-p。给你,codeply.com/go/guzmu84ybo 【参考方案1】:

尝试重新排列结构并使用flexbox 概念重新排列移动设备中的列:

HTML

<div class="container">
  <div class="col-md-9 one">
    <p>Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum </p>
    <p>Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum </p>
  </div>
  <div class="col-md-3 two">B</div>
  <div class="col-md-3 three">C</div>
</div>

CSS

@media (max-width: 991px) 
  .container 
    display: flex;
    flex-direction: column;
  

  .one 
    order: 2;
  

  .two 
    order: 1;
  

  .three 
    order: 3;
  

CodePly

【讨论】:

太棒了!正是我想要的。我选择了这个而不是另一个,因为它看起来更灵活。【参考方案2】:

Working Codeply Solution

虽然 flexbox 可能是解决此流程问题的最现代方法,但有些人可能正在寻找简单的“引导程序”解决方案或适用于 IE10+ 的解决方案。单个媒体查询将解决您的问题,您可以删除所有 push/pull 类。您可以将标记简化为:

<div class="container">
    <div class="row">
        <div id="searchWrap" class="col-md-3">B</div>
        <div class="col-md-9 content">
            <p>Lorem Ipsum... This content can be long now... </p>
        </div>
        <div class="col-md-3">C</div>
    </div>
</div>

那么在你的 CSS 中需要这个单一的媒体查询来有效地“重置”导致你所有问题的 left 属性:

@media (min-width : 992px)  
    #searchWrap  
        float: right;
        left: 0px; 
    

您可以将992px 更改为您希望搜索流到顶部的任何宽度。但是 992px 是 Bootstrap 3 的“平板电脑宽度”网格中的宽度,并且很可能是这种重新流动发生的合适宽度。 (查看所有 Bootstrap 3 网格宽度here。)

【讨论】:

以上是关于在桌面和移动视图上重新排序引导列的主要内容,如果未能解决你的问题,请参考以下文章

引导列排序网格移动桌面

在Mobile中重新排序列

使用引导程序 3 重新排序

QTableView 将视图重新聚焦到特定列

重新排列移动设备的容器

重新排序列的简单方法?