如何使用嵌套的bootstrap网格使外柱的高度相同

时间:2016-09-04 02:44:30

标签: css twitter-bootstrap

我有一个带有嵌套网格的动态bootstrap 3布局,它按照我想要的方式适用于所有屏幕尺寸,除了我无法弄清楚如何填充垂直空间以使顶层列的高度相同

以下是中等屏幕问题的图像(抱歉,嵌入图片的代表不够):Nested bootstrap vertical height problem。我希望“LEFT BOX”和“RIGHT BOX”延伸到“Bottom Bar”。

我已经尝试过这里发布的解决方案:How can I make bootstrap columns all the same height和其他各种地方,但它们似乎都不适用于嵌套网格。

非常感谢任何帮助。

我已将样本放在on Fiddler上,如下所示:

CSS:

.container {
    margin-top: 10px;
}

.dark {
    background: #444;
    color: #DDD;
}

.light {
    background: #DDD;
    color: #222;
}

.content {
    padding: 30px;
    margin: 0;
}

.image {
    width: 100%;
    padding: 0;
    margin: 0;
    vertical-align: bottom;
}

HTML:

<div class="container">
<div class="row">
    <div class="col-sm-8">
    <div class="row">
        <div class="col-md-12 dark image">
        <img src="https://s20.postimg.io/kdweqmuzx/postimage.gif" width="100%" />
        </div>
        <div class="col-md-6 dark content">
        <h2>LEFT BOX</h2>
        <br />
        <br />
        <br />
        </div>
        <div class="col-md-6 light content">
        <h2>RIGHT BOX</h2>
        <br />
        <br />
        <br />
        </div>
    </div>
    </div>
    <div class="col-sm-4 dark">
    <div class="row">
        <div class="dark content">
        <h2>RIGHT PANEL</h2>
        </div>
    </div>
    <div class="row">
        <div class="dark image">
        <img src="https://s20.postimg.io/5cu49dca5/postimage.gif" width="100%" class="bottom" />
        </div>
    </div>
    </div>
</div>
<div class="row dark">
    <div class="col-sm-12 dark content">
        <h2>Bottom Bar</h2>
    </div>
</div>
</div>

1 个答案:

答案 0 :(得分:1)

我能够使用此处描述的额外边距/填充/溢出技巧的修改版本来实现此功能:How can I make bootstrap columns all the same height

因为现在解决方案不适用于嵌套网格,因为如果将 overflow:hidden 应用于所有行,那么它将剪切内部行上的额外填充。

相反,我将 overflow:hidden 放在顶级容器上,现在它可以工作了!仅供参考我还尝试将 overflow:hidden 放在内容类上,它在Chrome中具有所需的效果,但不是Firefox或Edge。

关于JsFiddle的示例:http://jsfiddle.net/jccaulfield/ggjwwuup/3/

.container {
overflow: hidden;
}

.dark {
background: #444;
color: #DDD;
}

.light {
background: #DDD;
color: #222;
}

.content {
padding: 30px;
margin: 0;
margin-bottom: -999px;
padding-bottom: 999px;
overflow: hidden;
}

.image {
padding: 0;
margin: 0;
}