我的问题非常简单,但我没有找到一个正确的方法(我的意思是不使用相对位置容器内的子元素的绝对位置)来在Bootstrap 4中实现这一点。
我有一行col-8和col-4。我在col-4中的内容必须正确对齐,因此其内容位于右边界。
<h1 class="col-md-8">Applications portfolio</h1>
<div class="btn-group col-md-4" role="group">
<p class="float-right">
<a class="btn btn-secondary btn-md" href="#">
<i class="fa fa-plus" aria-hidden="true"></i> Creation</a>
<a class="btn btn-md btn-secondary" href="#">
<i class="fa fa-flag" aria-hidden="true"></i> Report</a>
</p>
</div>
这是一个codepen:
https://codepen.io/anon/pen/QpzVgJ
我希望我的两个按钮在col-4中对齐。
如何在Bootstrap 4中正确对齐col中的正确元素?
答案 0 :(得分:13)
使用 ml-auto
将按钮按到右侧......
https://codepen.io/anon/pen/evbLQN
<div class="btn-group col-md-4" role="group">
<p class="ml-auto">
<a class="btn btn-secondary btn-md" href="#">
<i class="fa fa-plus" aria-hidden="true"></i> Creation</a>
<a class="btn btn-md btn-secondary" href="#">
<i class="fa fa-flag" aria-hidden="true"></i> Report</a>
</p>
</div>
另一种选择是从btn-group
中移除col-md-4
,然后 float-right
将按预期工作。在Bootstrap 4中,pull-right
类被 float-right
取代。
<section class="row">
<h1 class="col-md-8">Applications portfolio</h1>
<div class="col-md-4" role="group">
<p class="float-right">
<a class="btn btn-secondary btn-md" href="#">
<i class="fa fa-plus" aria-hidden="true"></i> Creation</a>
<a class="btn btn-md btn-secondary" href="#">
<i class="fa fa-flag" aria-hidden="true"></i> Report</a>
</p>
</div>
</section>
PS - 要防止Codepen中出现水平滚动条,请确保将.row
放在container-fluid
内。此外,通常 col-*
用于包含内容,不应该应用于其他组件/元素。因此,例如,如果您想使用btn-group
..
<div class="container-fluid">
<section class="row">
<div class="col-md-8">
<h1>Applications portfolio</h1>
</div>
<div class="col-md-4">
<div class="btn-group float-right mt-2" role="group">
<a class="btn btn-secondary btn-md" href="#">
<i class="fa fa-plus" aria-hidden="true"></i> Creation</a>
<a class="btn btn-md btn-secondary" href="#">
<i class="fa fa-flag" aria-hidden="true"></i> Report</a>
</div>
</div>
</section>
</div>
答案 1 :(得分:4)
该md-4中的btn-group
类使该DIV成为一个Flex容器,因此对齐的常规text-right
类将不起作用。而是在样式属性中添加justify-content: flex-end;
:
<div class="btn-group col-md-4 text-right" role="group" style="justify-content: flex-end;">
https://codepen.io/anon/pen/RpEYEM
(注意:我删除了DIV中的p
标签)
答案 2 :(得分:3)
提供的标记存在一些问题,使布局看起来很奇怪。 @ZimSystem对.container-fluid
进行了修改,但你应该在div.col
内总是有一个.row
,这样你就可以在边缘获得相同的填充。
按钮周围不需要<p>
。要获得对齐,只需将.ml-auto
添加到第一个按钮,如下所示:
<div class="container-fluid">
<section class="row mb-2 mt-2">
<h1 class="col-md-8">Applications portfolio</h1>
<div class="btn-group col-md-4" role="group">
<a class="btn btn-secondary btn-md ml-auto" href="#">
<i class="fa fa-plus" aria-hidden="true"></i> Creation</a>
<a class="btn btn-md btn-secondary" href="#">
<i class="fa fa-flag" aria-hidden="true"></i> Report</a>
</div>
</section>
<section class="row" style="background-color: grey; height: 50px; overflow:hidden;">
<div class="col">
<p>Just a simple reference block to see the 100% width</p>
</div>
</section>
</div>