我有col-lg-5
的两个div。当视图端口更改为移动设备时,我想首先将第二个div作为顺序。我在v4.0.0-beta.2中使用Bootstrap order-*
类。
<div class="col-lg-5 col-12 order-col-12">
[first_div]
</div>
<div class="col-lg-5 background-10 col-12 order-col-1">
[second_div]
</div>
但是在我使用col
的小型设备中,这应该改变如下:
<div class="col-lg-5 background-10 col-12 order-col-1">
[second_div]
</div>
<div class="col-lg-5 col-12 order-col-12">
[first_div]
</div>
但它没有改变,它仍然保持相同的顺序。
答案 0 :(得分:2)
我认为最简单的解决方案是在第二个div上使用order-first order-lg-2
类。当然,如果您希望更改lg
以外的制动点的列顺序,那么您也可以使用其中一个可用的.order{-sm|-md|-lg|-xl}-2
类。
当.order-first
实际为第二个div设置order: -1
时,它保证第二个div在视觉上是第一个div,因此不需要在第一个div上明确设置顺序。 (.order-1
不会出现这种情况!)
此外,由于Bootstrap具有移动优先思维模式,我们必须添加一个.order{-sm|-md|-lg|-xl}-2
类来在更宽的屏幕上设置列的“原始”排序。
<div class="container">
<div class="row">
<div class="col-lg-5">
[first_div]
</div>
<div class="col-lg-5 order-first order-lg-2">
[second_div]
</div>
</div>
</div>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" rel="stylesheet"/>
注意:肯定你有,但你的实际例子错过了.row
- 以及正确格式化.container
- 包装器。 .row
对于完成这项工作非常重要。
答案 1 :(得分:0)
编辑回答。
我明白了。 Bootstrap 4假设您正在为最小的设备屏幕(xs)进行开发,因此order-1
旨在用于最小的设备(xs)。 order-sm-1表示将此用于尺寸> gt = = sm的所有设备。因此,您必须从最小设备(移动设备)的订单开始。因此,您需要将第二个div中的内容设置为第一个div中的内容,反之亦然。然后你告诉bootstrap:如果它大于或等于sm大小改变顺序order-sm-12
。
总结:使用bootstrap 4,您可以从较小的屏幕尺寸(xs)开始开发,并为大于或等于(sm,md,xl)的设备定义断点。
<div class="row">
<div class="col-lg-5 col-12 order-sm-12">
[content_second_div]
</div>
<div class="col-lg-5 background-10 col-12 order-sm-1">
[content_first_div]
</div>
</div>
请在此处阅读以获取更多信息: https://getbootstrap.com/docs/4.0/layout/overview/#responsive-breakpoints
同时确保您的<head>
包含
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">