【发布时间】:2016-08-16 11:23:55
【问题描述】:
我正在使用引导程序,并想创建一个简单的 HTML table,在最后一列中,我有一个 2 按钮组和一个单独的按钮。我希望最后一个单元格始终将这 3 个按钮保持在一行中,因此我添加了 text-nowrap 引导类(这是一个简单的 white-space: nowrap)。
如果其他单元格的内容足够长,最后一个单元格的内容会水平溢出,我不明白为什么。我希望表格的其余部分会缩小以为非包装单元格腾出空间。
这里是重现问题的演示:bootply
这是标记。
<div style="width: 500px">
<table class="table table-striped">
<tbody><tr>
<td>Test text</td>
<td class="text-nowrap">
<div class="btn-group">
<button class="btn btn-default"><span>A</span></button>
<button class="btn btn-warning"><span>B</span></button>
</div>
<button class="btn btn-success"><span>C</span></button>
</td>
</tr>
</tbody></table>
</div>
按钮组div 和单独的button 都是inline-block 元素,因此包装应该按预期IMO 工作。我做错了什么?
也许这与引导程序并不严格相关。
更新
- 我已经更新了 bootply,链接是以前的版本,抱歉
- 在最新的 Chrome 和 IE 中测试,两者的问题几乎相同。
原因和解决方法
- 我已经意识到从
btn-group展开两个按钮会产生正确的布局,因此我开始检查btn-group的实际作用。 - 我发现
btn-group中的btns 是浮动的,这种浮动会导致布局错误。将不,实际上没有,仍在研究中...clearfix类添加到btn-group可以解决问题。 - 我将研究为什么引导程序需要
float: left,看起来组中的按钮可以通过纯粹使用inline-block来对齐,没有边距。我将在v4-alpha代码中检查这一点,并将此问题报告给引导程序v3。
【问题讨论】:
-
很高兴您找到了自己的方式。是的,浮动内容不计入单元格将获得的总部分。从您的示例代码中,右侧列的宽度被计算为该列只有一个按钮。但是添加 clearfix 会取消浮动。
-
btn-group有意设置为浮动,这样当溢出发生时,任何按钮都不会离开屏幕或呈现在其容器之外。
标签: html css twitter-bootstrap