CSS Div заполняет оставшуюся высоту

Пожалуйста, смотрите мой jsfiddle

Я хочу зеленую середину div заполнить оставшееся пространство обертки div независимо от того, сколько контента у него есть.

Если это имеет значение, я тоже включаю бутстрап.

1 ответ

Решение

Дайте контейнер:

display:flex;
flex-direction:column;

и для элемента:

flex:1;

Демоверсия: https://jsfiddle.net/ugjfwbg4/1/

body {
  background-color: red;
  height: 100%;
}

.wrap {
  height: 100vh;
  width: 100%;
  padding: 20px;
  background-color: yellow;
  display:flex;
  flex-direction:column;
}

.top {
  width: 100%;
  height: 50px;
  background-color: blue;
}

.mid {
  width: 100%;
  background-color: green;
  flex:1;
  display:flex;
  flex-direction:column;
}

.left{
  flex:1;
  width: 50%;
  background-color: red;
}

.bottom {
  width: 100%;
  height: 50px;
  background-color: blue;
}
<div class="wrap">
  <div class="top"></div>

  <div class="mid">
    
    <div class="left">left</div>
  </div>

  <div class="bottom"></div>
</div>

Другие вопросы по тегам