Je souhaite utiliser une application pleine hauteur utilisant flexbox. J'ai trouvé ce que je veux en utilisant l'ancien module de mise en page flexbox ( display: box;
et d'autres choses) dans ce lien: application pleine hauteur CSS3 Flexbox et débordement
C'est une solution correcte pour les navigateurs qui ne prennent en charge que l'ancienne version des propriétés CSS flexbox.
Si je veux essayer d'utiliser les nouvelles propriétés flexbox, je vais essayer d'utiliser la deuxième solution dans le même lien répertorié comme un hack: utiliser un conteneur avec height: 0px;
. Cela fait montrer un défilement vertical.
Je n'aime pas beaucoup cela car cela pose d'autres problèmes et c'est plus une solution de contournement qu'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 Web 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 différentes hauteurs.
flex-shrink:0
à la fois l'en-tête et le pied de page.