Bootstrap 3嵌套列,嵌套行高

时间:2014-07-25 14:14:03

标签: css twitter-bootstrap-3

为什么嵌套.row占父.row的高度? 示例:

<div class="container">
        <div class="row"> <!-- Parent .row -->
            <div class="col-md-8">
                <div class="col-md-6"></div>
                <div class="col-md-3"></div>
                <div class="col-md-3"></div>

                <div class="row"> <!-- nested PROBLEMATIC ROW -->
                    <div class="col-md-12">
                      Why this row has height of 300px instead of 150px?
                      I can solve problem by setting 'clear: both' on that
                      row, but class .row should do it by itself.
                    </div>
                </div>
            </div>

            <div class="col-md-4">
                <div></div>
                <div></div>
                <div></div>
            </div>
        </div>
   </div>

使用一些虚拟css:

.col-md-8 {
    height: 500px;
    background: #f0f0f0;
}
.col-md-6 {
    height: 150px;
    background: red;
}
.col-md-3 {
    height: 150px;
    background: blue;
}
.col-md-12 {
    height: 150px;
    background: yellow;
}
.col-md-4 {
    height: 500px;
    background #f0f0f0;
}
.col-md-4 > div {
    margin-bottom: 10px;
    height: 150px;
    background: green;
}

最终输出:enter image description here JS Bin http://jsbin.com/nugoziju/1/edit

1 个答案:

答案 0 :(得分:5)

首先,如果没有相应的行,你不应该把它放在Bootstrap中。所以你的标记看起来像这样:

<div class="container">
    <div class="row"> <!-- Parent .row -->
        <div class="col-md-8">
            <div class="row">
                <div class="col-md-6"></div>
                <div class="col-md-3"></div>
                <div class="col-md-3"></div>
            </div>

            <div class="row"> <!-- nested PROBLEMATIC ROW -->
                <div class="col-md-12">
                  Why this row has height of 300px instead of 150px?
                  I can solve problem by setting 'clear: both' on that
                  row, but class .row should do it by itself.
                </div>
            </div>
        </div>

        <div class="col-md-4">
            <div></div>
            <div></div>
            <div></div>
        </div>
    </div>

然后就修好了。那行是150px高。

更新了jsbin:http://jsbin.com/nugoziju/7