【问题标题】:How to make bootstrap column height to 100% row height? [duplicate]如何将引导列高设为 100% 行高? [复制]
【发布时间】:2014-10-02 12:06:20
【问题描述】:

我还没有找到合适的解决方案,而且看起来很琐碎。

我在一行中有两列:

<div class="row">
  <div class="col-xs-9">
    <div class="left-side">
      <p>sdfsdf</p>
      <p>sdfsdf</p>
      <p>sdfsdf</p>
    </div>
  </div>
  <div class="col-xs-3">
    <div class="something">asdfdf</div>
  </div>
</div>

行高由较大的行设置,left-side。但是,我希望右侧的高度相同。

这看起来很直观,但它不起作用

.left-side {
    background-color: blue;
}
.something {
    height: 100%;
    background-color: red;
}
.row {
    background-color: green;
}

http://jsfiddle.net/ccorcos/jz8j247x/

【问题讨论】:

  • 你想用css做吗?或者可以使用jquery?
  • 我看到了其他帖子。但它不同。他们使用表格来制作标题、侧边栏、内容布局
  • 有人可以将此问题取消标记为重复吗?我有另一个可能有帮助的解决方案...

标签: html css twitter-bootstrap


【解决方案1】:

您可以使用 display 表格解决这个问题。

Here 是更新后的 JSFiddle,可以解决您的问题。

CSS

.body {
    display: table;
    background-color: green;
}

.left-side {
    background-color: blue;
    float: none;
    display: table-cell;
    border: 1px solid;
}

.right-side {
    background-color: red;
    float: none;
    display: table-cell;
    border: 1px solid;
}

HTML

<div class="row body">
        <div class="col-xs-9 left-side">
            <p>sdfsdf</p>
            <p>sdfsdf</p>
            <p>sdfsdf</p>
            <p>sdfsdf</p>
            <p>sdfsdf</p>
            <p>sdfsdf</p>
        </div>
        <div class="col-xs-3 right-side">
            asdfdf
        </div>
    </div>

【讨论】:

  • 漂亮。这有什么缺点吗?老实说,我从未见过display: table
  • 有缺点。假设您希望此页面在 col-md-9 和 col-md-3 处呈现,但对于移动设备,您希望每个容器都是全角的。您现在需要一堆媒体查询来修复您的表格布局解决方案。此外,IE8 及以下版本不支持媒体查询。
  • 对 IE 兼容的痴迷是什么?大声笑
  • 如何使行也达到 100% 高度,以及主体,所以它占用所有窗口?
  • @Chet IE 仍然是在国际上广泛使用的浏览器。如果你正在做一个公共网站,你会很生气不支持它,尽管很痛苦
【解决方案2】:

@Alan 的答案会满足您的需求,但是当您使用 Bootstrap 的响应功能时,此解决方案会失败。在您的情况下,您使用的是 xs 大小,因此您不会注意到,但如果您使用其他任何东西(例如 col-smcol-md 等),您会理解的。

另一种方法是使用边距和填充。查看更新的小提琴: http://jsfiddle.net/jz8j247x/1/

.left-side {
  background-color: blue;
  padding-bottom: 1000px;
  margin-bottom: -1000px;
  height: 100%;
}
.something {
  height: 100%;
  background-color: red;
  padding-bottom: 1000px;
  margin-bottom: -1000px;
  height: 100%;
}
.row {
  background-color: green;
  overflow: hidden;
}

【讨论】:

  • 不错,但如果我在其中放一个带有height: 100% 的谷歌地图,那么我就会有一个不完全可见的巨大地图......
  • 您可以随时将地图包装在另一个容器中并调整其大小。您必须记住,这只是样式化 'this' 容器。
  • @Esteban - 这是一个很好的解决方案,因为它解决了响应问题,但是它不允许您在元素底部(例如底部边框)有任何样式。你有什么建议吗?
  • 这在超过 1000 像素时不起作用,因此对于更大的数据集没有太大帮助。
  • @Rick 将其更改为 2000 像素、3000 像素?这只是针对特定问题的 hacky 解决方法。你也可以一直使用 flexbox。
猜你喜欢
  • 1970-01-01
  • 2020-07-15
  • 1970-01-01
  • 1970-01-01
  • 2019-01-17
  • 2022-01-14
  • 1970-01-01
  • 2012-08-12
  • 2012-07-24
相关资源
最近更新 更多