使用 Flexbox 的聖盃佈局
Holy Grail 佈局是一個具有固定高度頁首和頁尾的佈局,以及一個有 3 列的中心。3 列包括固定寬度 sidenav,流體中心和廣告等其他內容的列(流體中心首先出現在標記中)。CSS Flexbox 可用於通過非常簡單的標記實現此目的:
HTML 標記:
<div class="container">
<header class="header">Header</header>
<div class="content-body">
<main class="content">Content</main>
<nav class="sidenav">Nav</nav>
<aside class="ads">Ads</aside>
</div>
<footer class="footer">Footer</footer>
</div>
CSS:
body {
margin: 0;
padding: 0;
}
.container {
display: flex;
flex-direction: column;
height: 100vh;
}
.header {
flex: 0 0 50px;
}
.content-body {
flex: 1 1 auto;
display: flex;
flex-direction: row;
}
.content-body .content {
flex: 1 1 auto;
overflow: auto;
}
.content-body .sidenav {
order: -1;
flex: 0 0 100px;
overflow: auto;
}
.content-body .ads {
flex: 0 0 100px;
overflow: auto;
}
.footer {
flex: 0 0 50px;
}