Bootstrap pull-right не работает должным образом
простой вопрос здесь, используя Bootstrap3
. Я хотел создать своего рода небольшой фильтр, который перезагружает страницу ниже. Моим требованием было выровнять этот фильтр (два входа и маленькая кнопка) с содержимым, сидящим под ним, заставляя его падать в самое правильное положение.
Я попытался с помощью pull-right
класс и действительно вытащил фильтр, но еще больше места для заполнения. Если вы проверите пример, который я привел ниже, вы увидите, что моя цель состоит в том, чтобы выровнять кнопку с правой стороны фиолетовый строки, но это не удается.
Я действительно не понимаю, почему это происходит, но я предполагаю, что это связано с некоторыми проблемами маржи/заполнения строк.. Я ищу ответ, объясняющий, почему это происходит, чтобы я мог понять проблему и не буду заниматься ею снова :).
вы можете проверить мою разметку нажав здесь на bootply
также я опубликую свою разметку справа здесь:
<div class="container">
<div class="row" style="background:slateblue;">
<div class="col-xs-12">
<form role="form" class="form-horizontal">
<div class="form-group pull-right">
<div class="col-xs-4">
<input type="text" class="form-control text-center">
</div>
<div class="col-xs-4">
<input type="text" class="form-control text-center">
</div>
<div class="col-xs-2 col-sm-2" style="margin-top:3px;">
<button type="submit" class="btn btn-success">
<span class="glyphicon glyphicon-refresh"></span>
</button>
</div>
</div>
</form>
</div><!-- main col 12-->
</div><!--row-->
<div class="row" style="background:slategrey; height:200px;">
</div>
</div>
4 ответов
ваша группа форм выровнена как можно дальше вправо, но содержимое внутри нее – нет. У вас есть только 4+4+2 широкие столбцы там, поэтому вы "два столбца короткие", в 12-столбцовой сетке, используемой bootstrap.
вы можете просто смещать первый из них на 2, добавив col-xs-offset-2
класс – то выравнивание должно быть ближе к тому, что вы хотите достичь.
для тех, кто использует bootstrap4:
классы для адаптивных поплавков и удалены .тяни-влево и .тяни вправо поскольку они избыточны .поплавок-влево и ...поплавок-вправо.
дополнительная информация из bootstrap4 migration notes:здесь
макет столбца начальной загрузки в основном разделит строку на 12 столбцов. Здесь вы определяете только 10 из двенадцати столбцов, поэтому у вас есть пространство слева справа.
попробовать
<div class="form-group pull-right">
<div class="col-xs-4 col-xs-offset-2">
<input type="text" class="form-control text-center">
</div>
<div class="col-xs-4">
<input type="text" class="form-control text-center">
</div>
<div class="col-xs-2 col-sm-2" style="margin-top:3px;">
<button type="submit" class="btn btn-success">
<span class="glyphicon glyphicon-refresh"></span>
</button>
</div>
</div>
Bootstrap использует сетку из 12 столбцов:
http://getbootstrap.com/css/#grid (стоит прочитать)
чтобы убедиться, что у вас нет этого пробела, вам нужно использовать все столбцы, поскольку я вижу, что вы не
вот как я бы сделал ваш код:
<div class="container">
<div class="row" style="background:slateblue;">
<div class="col-xs-12">
<form role="form" class="form-horizontal">
<div class="form-group">
<div class="col-xs-5">
<input type="text" class="form-control text-center">
</div>
<div class="col-xs-5">
<input type="text" class="form-control text-center">
</div>
<div class="col-xs-2 col-sm-2" style="margin-top:3px;">
<button type="submit" class="btn btn-success">
<span class="glyphicon glyphicon-refresh"></span>
</button>
</div>
</div>
</form>
</div>
</div>
</div>