Вопрос по css, twitter-bootstrap, twitter-bootstrap-4, bootstrap-4, flexbox –  до первой кнопки, как это:

8

опрос довольно прост, но я не нахожу правильный способ (я имею в виду не использовать абсолютное позиционирование субэлементов внутри контейнера относительной позиции), чтобы добиться этого в 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>

Вот кодовая ручка:

https://codepen.io/anon/pen/QpzVgJ

Я хочу, чтобы мои две кнопки совпали по правому краю в col-4

Как в Bootstrap 4 правильно выровнять правые элементы внутри столбца?

Ваш Ответ

3   ответа
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>
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 будет работать как положено.pull-right класс был замененfloat-right в начальной загрузке 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 с начальной загрузкой 4

4

btn-groupкласс в этом MD-4 делает этот DIV гибким контейнером, поэтому регулярный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)

Похожие вопросы