Как повысить высоту столбца начальной загрузки до 100% высоты строки?

Я не нашел подходящего решения для этого и кажется таким тривиальным.

У меня есть два столбца внутри строки:

<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/

Ответ 1

Вы можете решить это, используя таблицу display.

Здесь - обновленный 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>

Ответ 2

@Alan ответ будет делать то, что вы ищете, но это решение выходит из строя, когда вы используете гибкие возможности Bootstrap. В вашем случае вы используете размеры xs, чтобы вы не заметили, но если вы использовали что-либо еще (например, col-sm, col-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;
}