html - 如何对 bootstrap 3 中的列重新排序?

标签 html css twitter-bootstrap

我正在开发一个响应式网站并使用 bootstrap 3。我附上了主页的布局。对于移动版本,我需要对列重新排序。我还附上了移动版本的所需布局。请帮我弄清楚如何实现这种移动布局。 Desktop Version

Mobile Version

最佳答案

您可以通过 javascript 使用不同的方法。 bootstrap 中的 visiblehidden classes 也很好用。

HTML:

<div class="container-fluid" data-toggle="orderColumns" data-target=".column">
  <div class="row">
    <div class="col-xs-12 col-sm-6 column" data-position="0" data-lg-orderid="1" data-xs-orderid="2">
      <h1>
      A
      </h1>

    </div>
    <div class="col-xs-12 col-sm-6">
      <div class="row">
        <div class="col-sm-12 column" data-position="1" data-lg-orderid="0" data-xs-orderid="0">
          <h1>
          B
          </h1>
        </div>
      <div class="col-sm-12 column" data-position="2" data-lg-orderid="2" data-xs-orderid="1">
          <h1>
          C
          </h1>
        </div>
      </div>

    </div>
  </div>

</div>

JS:

$(document).ready(function() {
    device = scanDevice();
  reorderColumns(device);
});

var reorderColumns = function(device) {
    $('*[data-toggle="orderColumns"]').each(function() {
    var ctx = $(this),
    columnsToOrder = ctx.attr('data-target'),
    columns = ctx.find(columnsToOrder),
    newOrder = [],
    orderId;

    $(columns).each(function() {
      orderId = $(this).attr('data-'+device+'-orderid');
            if(typeof orderId != 'undefined'){
            var elementObj = {
            id: orderId,
            html: $(this).html()
          }

          newOrder.push(elementObj);
      }

    })

    if(newOrder.length){
        $(newOrder).each(function(key,value){
        ctx.find('*[data-position="'+ value.id +'"]').html(value.html);
      })
    }

  });
}

var scanDevice = function() {
    var windowWdth = $(window).width();

  var device = 'lg';

  if(windowWdth < 768){
    device = 'xs';
  } else if(windowWdth >= 768 && windowWdth < 992) {
    device = 'sm';
  } else if(windowWdth >= 992 && windowWdth < 1200){
    device = 'md';
  }
  return device;
}

fiddle :https://jsfiddle.net/coheafof/4/

关于html - 如何对 bootstrap 3 中的列重新排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44687777/

相关文章:

javascript - 如何通过 jQuery 隐藏两个特定 id 之间的内容?

jquery - 水平 div 上的自动页面高度

HTML5 CSS 流式布局问题

html - 向上移动图标并与我的主标题内联

html - 修复简单布局中丑陋的 Bootstrap 导航栏

按钮高度不一致(跨浏览器)

html - 如何将表格的第 th 个单元格排列在其下方 td 单元格的中间(在边框上)

javascript - 覆盖 bootstrap.js 中 Collapse.prototype.show 中的 var

html - 如何使一排图像调整大小并适合移动设备上的一行?

html - 图像标签中 "Natural 1x1"的含义