Bootstrap 4 выравнивает элементы прямо внутри col div
мой вопрос довольно прост, но я не нахожу правильного способа (я имею в виду не использовать абсолютное позиционирование субэлементов внутри контейнера относительной позиции) для достижения этого в 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?
3 ответов
использовать 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 будет работать, как ожидалось. The pull-right класса был заменен на float-right в Bootstrap 4.
<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>
http://www.codeply.com/go/8OYDK5D8Db
по теме: правый выравнивающий элемент в классе div с bootstrap 4
на btn-groupкласс в этом md-4 делает этот 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
(примечание: Я удалил p тег внутри этого DIV)
есть несколько проблем с разметкой при условии, что макет выглядит странно. @ZimSystem menioned .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>