在 Bootstrap 3 list-group-item 中,我有一个图标、一些文本和两个应该向右浮动的图标/按钮。
我试过这个:
<a class="list-group-item" ng-click="handleClick()">
<span class="glyphicon glyphicon-file"></span>
Some text goes here
<button class="btn btn-xs btn-warning pull-right" ng-click="handleButtonClick()"><span class="glyphicon glyphicon-trash"></span></button>
<some:custom:span></some:custom:span>
</a>
如果结果适合一行,这会很好用:
当窗口太薄以至于实际文本无法放在一行中时,它也可以工作:
但是,如果窗口允许文本保留在一行中,但没有足够的空间用于向右拉的跨度,事情就会变得一团糟:
我真正想要的是 pull-right 跨度开始一个新行并右对齐,并且 list-group-item 垂直延伸到它们合身。我怎样才能做到这一点?
最佳答案
为了保持按钮对齐,在它们周围包裹一个新元素并 float 包裹元素。然后使用 .clearfix 类清除列表项上的 float 以固定它们的高度。
<div class="list-group">
<a href="#" class="list-group-item clearfix">
<span class="glyphicon glyphicon-file"></span>
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
<span class="pull-right">
<button class="btn btn-xs btn-info">CCS</button>
<button class="btn btn-xs btn-warning">
<span class="glyphicon glyphicon-trash"></span>
</button>
</span>
</a>
</div>
在此处查看实例:http://jsfiddle.net/cdog/EpG7x/ .
但是,根据 HTML5 specification from W3C,将按钮放置在链接内是无效的.
The
aelement may be wrapped around entire paragraphs, lists, tables, and so forth, even entire sections, so long as there is no interactive content within (e.g. buttons or other links).
使用带有表格的面板也可以获得类似的结果。
<div class="panel panel-default">
<table class="table table-hover">
<tbody>
<tr>
<td>
<span class="glyphicon glyphicon-file"></span>
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
</td>
<td class="text-right text-nowrap">
<button class="btn btn-xs btn-info">CCS</button>
<button class="btn btn-xs btn-warning">
<span class="glyphicon glyphicon-trash"></span>
</button>
</td>
</tr>
</tbody>
</table>
</div>
要防止单元格内的内容换行,您可以使用 .text-nowrap 类(在 Bootstrap v3.2.0 中添加)。
在此处查看实例:http://jsfiddle.net/cdog/6mFDH/ .
关于css - Bootstrap 3 : Span elements floating right in list-group-item do not consume vertical space,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22868664/