Я только начал использовать Flexbox и столкнулся с проблемой.Я не могу установить высоту после гибкого направления: столбец
Если я установил <section>
как flex-direction: column
, он перестает отвечать на атрибут height
.
Вот относительный код:
body {
display: flex;
background: #d6d6d6;
min-height: 100vh;
margin: 0;
padding: 0;
}
nav {
display: flex;
width: 94px;
height: 100vh;
background: #131519;
background: #1C1D21;
color: white;
}
.main-aside-footer-section {
display: flex;
flex-direction: column;
flex-grow: 1;
.
/*** THIS IS NOT WORKING ****/
height: 100vh;
/****************************/
}
.main-aside-section {
display: flex;
}
main {
display: flex;
background: #83B0B9;
background: #343943;
background: #E4B162;
background: #D35657;
flex-grow: 1;
}
aside {
display: flex;
background: #343943;
min-width: 50px;
color: white;
/* display: none;*/
}
footer {
display: flex;
background: #333;
color: #ededed;
}
<nav>
<ul>
<li>nav 1</li>
<li>nav 2</li>
</ul>
</nav>
<section class="main-aside-footer-section">
<section class="main-aside-section">
<main>
this is main
</main>
<aside>
<ul>
<li>aside 1 </li>
<li>aside 2 </li>
</ul>
</aside>
</section>
<!-- main-aside-->
<footer>footer</footer>
</section>
<!-- main-aside-footer-->
https://codepen.io/anon/pen/qRepJr
Что мне нужно вертикально растянуть .main-aside-footer-section
элемент так, чтобы он заполнил высоту экрана (и так, что мой сноска придерживается нижней части страницы).
Я использую Chrome Версия 53.0.2785.101 (64-разрядная) на Ubuntu 15.10 64bit
Может кто-нибудь помочь?
Заранее благодарен
Ваш CSS является недействительным. Удалите лишний '.' из строки # 21. И переместите' flex-grow: 1' в стили '.main-aside-section' –
Спасибо, Мухаммад, вы правы. Более того, я должен признать, что ваше решение довольно немного элегантно, так как оно устраняет необходимость установки margin-top: auto на нижнем колонтитуле, а также любой высоты до раздела .main-side-footer-section. Вот обновленный код для иллюстрации https://codepen.io/anon/pen/qrWOpv – sgouros
Добро пожаловать :) –