Quiero usar una aplicación de altura completa usando flexbox. Encontré lo que quiero usando el antiguo módulo de diseño de flexbox ( display: box;
y otras cosas) en este enlace: aplicación CSS3 Flexbox de altura completa y desbordamiento
Esta es una solución correcta para los navegadores que solo admiten la versión anterior de las propiedades CSS de flexbox.
Si quiero intentar usar las propiedades de flexbox más nuevas, intentaré usar la segunda solución en el mismo enlace que aparece como truco: usar un contenedor con height: 0px;
. Hace mostrar un desplazamiento vertical.
No me gusta mucho porque presenta otros problemas y es más una solución que una solución.
html, body {
height: 100%;
}
#container {
display: flex;
flex-direction: column;
height: 100%;
}
#container article {
flex: 1 1 auto;
overflow-y: scroll;
}
#container header {
background-color: gray;
}
#container footer {
background-color: gray;
}
<section id="container" >
<header id="header" >This is a header</header>
<article id="content" >
This is the content that
<br />
With a lot of lines.
<br />
With a lot of lines.
<br />
This is the content that
<br />
With a lot of lines.
<br />
<br />
This is the content that
<br />
With a lot of lines.
<br />
<br />
This is the content that
<br />
With a lot of lines.
<br />
</article>
<footer id="footer" >This is a footer</footer>
</section>
También he preparado un JSFiddle con un ejemplo base: http://jsfiddle.net/ch7n6/
Es un sitio web HTML de altura completa y el pie de página está en la parte inferior debido a las propiedades flexbox del elemento de contenido. Le sugiero que mueva la barra entre el código CSS y el resultado para simular una altura diferente.
flex-shrink:0
tanto al encabezado como al pie de página.