【问题标题】:Bootstrap - Move down one div from a set of divs on resizingBootstrap - 在调整大小时从一组 div 中下移一个 div
【发布时间】:2018-01-11 16:08:34
【问题描述】:

如何在超小屏幕尺寸上向下移动 div-B? 我对 xs-hidden 和内容重复有想法,但这不是我需要的。

现在,我当前的代码是这样的:

<div class="col-xs-6 col-sm-2 col-md-2 col-lg-2">
    A
</div>
<div class="col-xs-12 col-sm-8 col-md-8 col-lg-8">
    B
</div>
<div class="col-xs-6 col-sm-2 col-md-2 col-lg-2">
    C
</div>

在 lg/md/sm 我有这个:

+---+---+---+
|   |   |   |
| a | b | c |
|   |   |   |
+---+---+---+

但在 xs 中我想得到这个:

+-----+-----+
|     |     |
| a   |  c  |
|     |     |
+-----+-----+
|           |
|     b     |
|           |
+-----------+

【问题讨论】:

  • 如果您希望 b 位于 c 下方,最好更改 HTML 结构本身。目前,您的 b 列位于 HTML 中的 c上方,因此您永远无法使用 Bootstrap 的默认 col- 类在 b 上方显示 c。如果您不想交换 HTML 结构,则需要类似 flexbox(或 jQuery)的东西。
  • @Obsidian,哦,很伤心。谢谢。
  • 你使用的是 bootstrap 3 还是 4?
  • @Michael, bootstrap-3
  • 你可以用 flexbox 做到这一点,像这样codepen.io/mcoker/pen/rzWaRL

标签: jquery html css twitter-bootstrap layout


【解决方案1】:

Bootstrap 的 col-sm 断点是 768px。

因此您可以使用$(window).width() 和两个类来移动要移动的 div,如下面的resize 处理程序示例。

$(window).on("resize",function(){

  //console.log( $(window).width() );

  if( $(window).width() < 768 ){
    $(".movedown").before( $(".moveup") );
  }else{
    $(".moveup").before( $(".movedown") );
  }

});
div{
  border:1px solid black;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>


<div class="col-xs-6 col-sm-2 col-md-2 col-lg-2">
  A
</div>
<div class="col-xs-12 col-sm-8 col-md-8 col-lg-8 movedown">
  B
</div>
<div class="col-xs-6 col-sm-2 col-md-2 col-lg-2 moveup">
  C
</div>

该示例在CodePen 中更容易调整大小
它在 sn-p 预览中不起作用...必须查看全页模式。

【讨论】:

  • 我相信断点在 767px ;)。通过 jQuery 获得干净的答案,我不敢做一个肮脏的 css/html 技巧codepen.io/gc-nomade/pen/YxpPoL,目的是玩浮动行为而不是建议使用... +1
  • @GCyrillus:谢谢! ;) 如果您在 CodePen 中取消注释 console.log,并缓慢调整大小...您将看到 console.log("sm") 在 769 像素处触发。
  • @LouysPatriceBessette,GCyrillus,它对我有用。谢谢你们。
  • 我仔细检查了“sm”断点...@GCyrillus 是对的,reference here
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多