Sto tentando di creare il layout "Holy Grail" utilizzando Flexbox.Layout Holy Grail di Flexbox: intestazione fissa, Nav. Di sinistra fissa, area del contenuto del fluido, barra laterale destra fissa
- Header fisso
- fissa, pieghevole, scorrevole sinistra Nav
- flessibile zona contenuto
- fissa, pieghevole, scorrevole destro Nav
Vedi sotto:
Ho tutto funzionante, tranne per l'altezza dell'area "app" sotto l'intestazione. Al momento è 100vh (100% dell'altezza del viewport), ma questo include l'intestazione 64px.
Ho tentato calc (100vh - 64px), ma questo non funziona bene con flex.
Ecco la mia struttura HTML di base:
<main>
<header></header>
<app>
<nav>Left Nav</nav>
<article>Content</article>
<aside>Right Nav</aside>
</app>
</main>
E il CSS di supporto:
main {
display: flex;
flex-direction: column;
}
header {
z-index: 0;
flex: 0 0 64px;
display: flex;
}
app {
flex: 1 1 100vh;
display: flex;
}
nav {
flex: 0 0 256px;
order: 0;
}
article {
flex: 1 1 100px;
order: 1;
}
aside {
flex: 0 0 256px;
order: 2;
}
- - - Full jsFiddle Here - - -
- - - Simplified jsFiddle Here - - -
FYI, il tag 'flex' viene utilizzato per Apache Flex. Il tag 'flexbox' si riferisce ai layout flex CSS. – Brian
@ Brian Grazie per l'attenzione! – Jon