Voglio usare un'app a tutta altezza usando flexbox. Ho trovato quello che voglio usando il vecchio modulo di layout flexbox ( display: box;
e altre cose) in questo link: CSS3 Flexbox app full-height e overflow
Questa è una soluzione corretta per i browser che supportano solo la vecchia versione delle proprietà CSS di flexbox.
Se voglio provare a utilizzare le proprietà flexbox più recenti, cercherò di utilizzare la seconda soluzione nello stesso collegamento elencato come hack: utilizzando un contenitore con height: 0px;
. Fa mostrare uno scroll verticale.
Non mi piace molto perché introduce altri problemi ed è più una soluzione alternativa che una soluzione.
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>
Ho preparato anche un JSFiddle con un esempio di base: http://jsfiddle.net/ch7n6/
È un sito Web HTML a tutta altezza e il piè di pagina è in fondo a causa delle proprietà flexbox dell'elemento di contenuto. Ti suggerisco di spostare la barra tra codice CSS e risultato per simulare altezze diverse.
flex-shrink:0
sia l'intestazione che il piè di pagina.