Я просматривал все решения min-height: 100% на StackOverflow и в Интернете, и я не могу найти тот, который соответствует моим (относительно простым) потребностям.
Вот что я хочу:
- У меня есть контейнер с двумя столбцами, и оба столбца должны быть равны по высоте.
- Когда содержимое не заполняет экран, столбцы должны растягиваться до полной высоты окна.
- Я рад использовать flex-box, но я бы предпочел не использовать JS-хаки, если это возможно.
Пример кода:
http://codepen.io/anon/pen/dwgDq?editors=110
<!DOCTYPE html>
<html>
<body>
<div class="container">
<div class="nav">
<p>Item 1</p>
<p>Item 2</p>
<p>Item 3</p>
<p>Item 4</p>
<p>Item 5</p>
</div>
<div class="content">
<p>Content 1</p>
<p>Content 2</p>
<p>Content 3</p>
<p>Content 4</p>
<p>Content 5</p>
<p>Content 6</p>
<p>Content 7</p>
<p>Content 8</p>
</div>
</div>
</body>
</html>
html, body { height: 100%; margin: 0; }
.wrapper {
height: 100%;
overflow: auto;
-webkit-overflow-scrolling: touch;
}
.container {
display: flex;
align-items: stretch;
min-height: 100%;
}
.nav {
background: grey;
width: 200px;
}
.content {
flex-grow: 1;
background: yellow;
}
Это отлично работает в Safari и Chrome.
Кажется, что IE (v11 в моем случае) не соблюдает мою минимальную высоту, и, таким образом, столбцы не заполняют высоту экрана. Из того, что я читал, у IE6 + 7 были проблемы с обработкой высоты в виде минимальной высоты, но это реликвия прошлого и давно ушла при использовании документа типа HTML5.
Как заставить IE почитать мою минимальную высоту?
Как сделать этот макет работой?