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>