【发布时间】:2019-03-08 14:20:56
【问题描述】:
如果我理解正确的话,Bootstrap 中的 col-auto 类应该只使用内容的自然宽度。当我在下面的代码中使用col-lg-auto 时,宽度变得大于内容。
我创建了这个Codepen 来演示这个问题。
<div class="row">
<div class="col">
<div class="row">
<div class="col-12 col-sm-6 col-lg-4">Col</div>
<div class="col-12 col-sm-6 col-lg-4">Col</div>
<div class="col-12 col-sm-6 col-lg-4">Col</div>
<div class="col-12 col-sm-6 col-lg-4">Col</div>
<div class="col-12 col-sm-6 col-lg-4">Col</div>
<div class="col-12 col-sm-6 col-lg-4">Col</div>
<div class="col-12 col-sm-6 col-lg-4">Col</div>
<div class="col-12 col-sm-6 col-lg-4">Col</div>
<div class="col-12 col-sm-6 col-lg-4">Col</div>
</div>
</div>
<!-- Replace col-lg-auto with col-lg and add class flex-grow-0 -->
<div class="col-12 col-lg-auto">
<div class="row">
<div class="col-6 col-lg-12">Content</div>
<div class="col-6 col-lg-12">Content</div>
<div class="col-6 col-lg-12">Content</div>
<div class="col-6 col-lg-12">Content</div>
<div class="col-6 col-lg-12">Content</div>
<div class="col-6 col-lg-12">Content</div>
</div>
</div>
</div>
如果col-lg-auto 内的row 只有一个子列,那么它会按预期工作。如果我用类col-lg 和flex-grow-0 替换类col-lg-auto,我也能够实现我想要的布局。
有人能解释一下为什么col-lg-auto 的宽度在这种情况下会变得大于内容宽度吗?我不能在具有col-auto 类的列中使用具有多列的行吗?
【问题讨论】:
标签: twitter-bootstrap css flexbox bootstrap-4