【问题标题】:Bootstrap 3 - can I make right column have same height as left one with css?Bootstrap 3 - 我可以用css使右列与左列具有相同的高度吗?
【发布时间】:2016-05-13 19:25:57
【问题描述】:

我在我的项目中使用 Bootstrap 3,并且有一排并排的两个面板。我想要实现的是使右侧面板与左侧面板具有相同的高度。

两列高度相同不是问题。正如您在下面提供的代码中看到的那样,它已经完成了。真正的问题是:

  1. 左侧面板应适合内容。
  2. 如果右侧面板的内容超出左侧面板的高度,则应显示滚动条。

现在问题来了:我想知道是否有任何纯 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


【解决方案1】:

为右侧面板提供单独的类名,如 'rgt'

并在 CSS 中放置:

.rgt{
    height: 90px;
    overflow-y:  scroll;
}

如果没有必要,删除你已经完成的那些样式

【讨论】:

  • 感谢您的回答,但正如我所说,左栏的内容可能会动态变化,因此分配固定高度并不能完全解决问题
【解决方案2】:

给出单独的类并给出样式:

 .lft{
      height:100%;
     }
 .rgt{
      height:100%;
      overflow-y:scroll;
     }

然后添加脚本为:

<script>
    $('.rgt').css('height', $('.lft').height() + 'px');
</script>

【讨论】:

  • 再次感谢您的回答。尽管它可能会在其他情况下对某人有所帮助,但我提出这个问题的目的是找到一个适合我的情况的纯 CSS 解决方案。 Javascript 解决方案更加复杂,因为我将数据异步加载到第一个面板并使用 Angular 作为框架(这增加了与在视图中应用更改相关的另一个延迟)。但是,我认为我可以自己处理 JS 解决方案,而纯 CSS 无法做到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-10
  • 2013-01-17
  • 1970-01-01
  • 2017-11-26
  • 2016-04-21
  • 2016-09-21
相关资源
最近更新 更多