Je veux utiliser une application pleine hauteur à l'aide de flexbox. J'ai trouvé ce que je voulais en utilisant l'ancien module de mise en page flexbox ( display: box;
et d'autres choses) dans ce lien : CSS3 Flexbox application pleine hauteur et overflow
Il s'agit d'une solution correcte pour les navigateurs qui ne prennent en charge que l'ancienne version des propriétés CSS de flexbox.
Si je veux essayer d'utiliser les nouvelles propriétés de flexbox, j'essaierai d'utiliser la deuxième solution présentée dans le même lien comme un hack : utiliser un conteneur avec height: 0px;
. Il fait apparaître un défilement vertical.
Je ne l'aime pas beaucoup parce qu'il introduit d'autres problèmes et qu'il s'agit plus d'une solution de contournement que d'une solution.
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>
J'ai également préparé un JSFiddle avec un exemple de base : http://jsfiddle.net/ch7n6/
Il s'agit d'un site HTML pleine hauteur et le pied de page se trouve en bas à cause des propriétés flexbox de l'élément de contenu. Je vous suggère de déplacer la barre entre le code CSS et le résultat pour simuler une hauteur différente.