I just started learning flex and so far i'm impressed. However, i'm having an issue with a full page app containing header/footer and three columns. The first column contain a list of items and since i can't put a fixed height to it's parent, every time the list grow, it push the footer down.
Here's a codepen with the layout : http://codepen.io/anon/pen/vNVQNj Html :
<html>
<head>
<body>
<div class="app-wraper">
<div class="Navbar"></div>
<div class="main-content">
<div class="Bidlist">
<div class="column">
<div class="tabcontainer">
</div>
<div class="content-container">
<ul class="list-group instruments">
<li class="intrument"></li>
<li class="intrument"></li>
<li class="intrument"></li>
<li class="intrument"></li>
<li class="intrument"></li>
<li class="intrument"></li>
<li class="intrument"></li>
<li class="intrument"></li>
<li class="intrument"></li>
<li class="intrument"></li>
<li class="intrument"></li>
<li class="intrument"></li>
<li class="intrument"></li>
<li class="intrument"></li>
<li class="intrument"></li>
</ul>
</div>
</div>
</div>
</div>
<div class="footer"></div>
</div>
</body>
</head>
</html>
CSS :
html,
body {
background-color: #212121;
overflow: hidden;
}
/* layout */
.app-wraper {
display: flex;
height: 100vh;
max-height: 100vh;
flex-direction: column;
justify-content: flex-start;
}
.Navbar {
height: 50px;
background-color: black;
margin-bottom: 0px;
}
.main-content {
display: flex;
flex-direction: row;
flex-grow: 1;
}
.Bidlist {
min-width: 25%;
display: flex;
flex-direction: column;
padding-left: 0px!important;
padding-right: 1px!important;
background-color: grey;
}
.column {
display: flex;
flex-direction: column;
flex-grow: 1;
border: 2px solid #3D3C3D;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
margin-bottom: 2px;
}
.tabcontainer {
color: #fff;
display: flex;
height: 40px;
background-color: black;
flex-direction: row;
justify-content: space-around;
}
.ContentContainer {
flex-grow: 1;
display: flex;
}
.instruments {
display: flex;
flex-direction: column;
overflow-y: auto;
}
.instrument {
flex-grow: 1;
}
.footer {
height: 25px;
background-color: black;
}