【发布时间】:2016-05-13 19:25:57
【问题描述】:
我在我的项目中使用 Bootstrap 3,并且有一排并排的两个面板。我想要实现的是使右侧面板与左侧面板具有相同的高度。
两列高度相同不是问题。正如您在下面提供的代码中看到的那样,它已经完成了。真正的问题是:
- 左侧面板应适合内容。
- 如果右侧面板的内容超出左侧面板的高度,则应显示滚动条。
现在问题来了:我想知道是否有任何纯 CSS 解决方案可以实现这一目标?请注意,左列的高度可以更改,因此为列分配固定高度不会解决问题。我已经尝试了几种不同的解决方案,但都没有奏效。
这是我当前的代码:
HTML
<div class="row flex-row">
<div class="col-xs-6">
<div class="panel panel-default flex-col">
<div class="panel-body">
Some<br><br>
content
</div>
</div>
</div>
<div class="col-xs-6">
<div class="panel panel-default flex-col">
<div class="panel-body">
Some<br><br><br>
longer<br><br><br>
content
</div>
</div>
</div>
</div>
CSS
.flex-row, .flex-row > div[class*='col-'] {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex: 0 auto;
-webkit-flex: 0 auto;
flex: 0 auto;
}
.flex-col {
display: flex;
display: -webkit-flex;
-ms-flex: 1;
-webkit-flex: 1;
flex: 1;
-ms-flex-flow: column nowrap;
-webkit-flex-flow: column nowrap;
flex-flow: column nowrap;
overflow-y: auto;
}
小提琴:
https://jsfiddle.net/g1u8u98g/2/
如果有任何帮助,我将不胜感激。
【问题讨论】:
-
我认为当高度变化时,仅使用纯 css 是不可能的。 js 是必需的。
-
我就是这么想的,谢谢。
标签: css twitter-bootstrap less