我使用Bootstrap 4获得以下HTML代码:
<div class="row">
<div class="col-12 col-sm-4">
First, but unordered
</div>
<div class="col-12 col-sm-4">
Second, but unordered
</div>
<div class="col-12 col-sm-4 order-sm-1">
Third, but first
</div>
</div>
我希望将第三个div
放在sm
屏幕上的第一个位置,但事实并非如此。这是JSFiddle我错过了什么?谢谢!
答案 0 :(得分:1)
将您的标记更改为:
<div class="container">
<div class="row">
<div class="col-12 col-sm-4">
First, but unordered
</div>
<div class="col-12 col-sm-4">
Second, but unordered
</div>
<div class="col-12 col-sm-4 order-first order-md-0">
Third, but first
</div>
</div>
</div>
.order-sm-1
, order: 1
会在元素上放置#53-#55
:
_grid-framework.scss
但是将@for $i from 0 through $columns {
.order#{$infix}-#{$i} { order: $i; }
}
放在一列而其他列没有order: 1
的情况下会将该列发送到堆栈末尾,因为order
的默认值为order
。任何没有0
的兄弟姐妹都将被放置在您的专栏之前。
在同一个文件的第order
行,我们找到#49
(设置.order#{$infix}-first
)。这将在其余部分之前放置一列,以及order:-1
将其放置在所有其余部分之后。
总结一下:
.order#{$infix}-last
和.order-sm-last
将列放到堆栈的前面或后面.order-sm-first
为.order-sm-#{n}
提供order
,但在兄弟姐妹order
上设置order-sm-1
如果您放置order-sm-2
(或order
在其他列上更高 - 高达12)。请注意,他们只为.order-sm-13
定义了12个级别,sm
将无效,除非您自己定义。
最后一点:如果您希望在order-sm-1
及以下订购色谱柱,则应将order-first order-md-0
替换为.order-first
。 .order-md-0
会在所有时间间隔内首先显示order
,并0
将其md
设置回<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<div class="container">
<div class="row">
<div class="col-12 col-sm-4">
First, but unordered
</div>
<div class="col-12 col-sm-4">
Second, but unordered
</div>
<div class="col-12 col-sm-4 order-first order-md-0">
Third, but first
</div>
</div>
</div>
及更高上的Angular
,因此它会在布局中保留其位置:< / p>
ng-bootstrap
答案 1 :(得分:1)
订单类并不是真正处理元素的顺序,而是像交换系统一样。所以你需要在其他div中声明一个订单
<div class="row">
<div class="col-12 col-sm-4 order-sm-12">
First, but unordered
</div>
<div class="col-12 col-sm-4 order-sm-12">
Second, but unordered
</div>
<div class="col-12 col-sm-4 order-sm-1">
Third, but first
</div>
</div>
答案 2 :(得分:1)
<强> EDITED 强>
我正在更改代码,以便在用户评论@Andrei Gheorghiu之后将其改编为bootstrap 4
你可以使用class order-sm-first设置为order=-1
,使用此代码,第三 div将首先显示为sm或更大的屏幕< strong>大于576px
<div class="row">
<div class="col-12 col-sm-4">
First, but unordered
</div>
<div class="col-12 col-sm-4">
Second, but unordered
</div>
<div class="col-12 col-sm-4 order-sm-first">
Third, but first
</div>
</div>
在这里,您可以看到jsfiddle
的分叉版本