我在这里有一个简单的演示:
<ul>
<li>One <input class="btn pull-right" value="test"></li>
<li>Two <input class="btn pull-right" value="test2"></li>
</ul>
我有一个无序的列表和每个列表项目,我希望有文本在左边,然后一个右对齐按钮。我曾尝试使用拉右,但这完全混乱了对齐。我做错了什么?
<链接href=“http://twitter.github.com/bootstrap/assets/cssstrap.css”“terlesheet”/>
<德>
<li>One <输入级=“btn pullright”值=“测试”></li>
<li> 2 < <输入级=“btn -right引体”值=“test2”</li>
< /德>
使用Bootstrap右拉帮助器并不适用于我们,因为它使用float: right,这迫使内联块元素变成块。当.btns变成块时,它们失去了内联块作为准文本元素提供的自然边距。
所以我们使用direction: rtl;在父元素上,这导致该元素内的文本从右向左布局,这也导致内联块元素从右向左布局。你可以像下面这样使用LESS来防止孩子也被放置rtl:
/* Flow the inline-block .btn starting from the right. */
.btn-container-right {
direction: rtl;
* {
direction: ltr;
}
}
像这样使用它:
<div class="btn-container-right">
<button class="btn">Click Me</button>
</div>
添加到公认的答案,当在容器和列中工作时,从bootstrap中内置了填充,我有时会有一个完整的拉伸列,其中有一个子div,它可以进行拉取。
<div class="row">
<div class="col-sm-12">
<div class="pull-right">
<p>I am right aligned, factoring in container column padding</p>
</div>
</div>
</div>
或者,将所有列相加为网格列的总数(默认为12),并偏移第一列。
<div class="row">
<div class="col-sm-4 col-sm-offset-4">
This content and its sibling..
</div>
<div class="col-sm-4">
are right aligned as a whole thanks to the offset on the first column and the sum of the columns used is the total available (12).
</div>
</div>
更新2019 -引导4.0.0
在Bootstrap 4中,右拉类现在是右浮动类…
<div class="row">
<div class="col-12">One <input type="button" class="btn float-right" value="test"></div>
<div class="col-12">Two <input type="button" class="btn float-right" value="test"></div>
</div>
http://www.codeply.com/go/nTobetXAwb
最好不要对齐ul列表,而使用块元素作为行。
右浮动仍然不起作用吗?
请记住,Bootstrap 4现在是flexbox,许多元素是display:flex,这可以阻止右浮动的工作。在某些情况下,像align-self-end或ml-auto这样的util类工作于向右对齐flexbox容器中的元素,如Bootstrap 4 .row, Card或Nav。
还要记住,右文本仍然适用于内联元素。
引导4对齐右示例
引导3
使用右拉类。