css - Bootstrap : Floated divs cause parent elements to collapse. 构建嵌套列的最佳方式?

标签 css twitter-bootstrap

关于 Bootstrap 处理 div 的方式,我真的很纠结。

在我看来,所有使用 Bootstrap CSS 的列分类 div 都是 float 的。例如:

<div class="col-md-3">
   property
</div>

上面的 div 具有样式:float: left;,如 Bootstrap CSS 中所定义。

现在每个人都知道 float 的问题,它会导致父 div 无法扩展到高度,因为它不会“看到” float 元素推出容器。

我觉得这是 Bootstrap 的一个严重缺陷。我有一些类可以为 div 添加边距,例如:

.full-buffer{margin:20px 0}

如果我想在一个包含多个 Bootstrap 列的 div 上使用这个类,它是行不通的。因为div没有高度。如果我想添加背景颜色,它不会显示。例如:

.background-coloured-div{background-color:#0F0;}

 <div class="background-coloured-div">
                <div class="col-md-3">
                    property
                </div>
                <div class="col-md-3">
                    property
                </div>
                <div class="col-md-3">
                    property
                </div>
                <div class="col-md-3">
                    property
                </div>
            </div>

上面不会显示任何背景颜色,因为里面的所有 div 都是 float 的,所以它会折叠到 0px 高度。

JSFiddle without bootstrap

JSFiddle with bootstrap - 解决了一个问题并导致了另一个问题

那么,使用 Bootstrap 列的正确方法是什么?如果所有内容都是 float 的,您如何为父 div 添加适当的边距、背景颜色等? 这不是整个系统的一个巨大缺陷吗?

最佳答案

Bootstrap 有一个包含 float 的 row 类:

.row:before {
    display: table;
    content: " ";
}

.background-coloured-div {
  background-color: #0F0;
}
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<div class="background-coloured-div row">
  <div class="col-md-3">
    property
  </div>
  <div class="col-md-3">
    property
  </div>
  <div class="col-md-3">
    property
  </div>
  <div class="col-md-3">
    property
  </div>
</div>

关于css - Bootstrap : Floated divs cause parent elements to collapse. 构建嵌套列的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33104360/

相关文章:

javascript - 鼠标指针不会隐藏在 chrome 全屏 div 上

javascript - 没有插件的 Jquery Javascript 验证

html - 如何将排除的列表项与页边距对齐?

javascript - 单击仪表板上的任何 ui-sref show li active in ul li

PHP - 提高性能以避免某些 if 子句的想法

html - 为什么盒子阴影不起作用?

html - Bootstrap : hide the line between the rows

html - 位置绝对使 <UL> <LI> 不起作用

c# - Bootstrap 导航栏下拉菜单在 asp.net 中不起作用

javascript - 悬停时不显示工具提示