1. 程式人生 > 實用技巧 >使用 flexbox 將 footer 保持在底部

使用 flexbox 將 footer 保持在底部

佈局網頁時, 有時頁面內容太少,無法將內容區域撐開,從而在 footer 下面留下一大塊空白。

解決方法 flexbox

HTML

<body>
    <header>...</header>
    <section class="main-content">...</section>
    <footer>...</footer>
</body>

CSS

html{
    height: 100%;
}

body{
    display: flex;
    flex-direction
: column; height: 100%; } header{ /* 我們希望 header 採用固定的高度,只佔用必須的空間 */ /* 0 flex-grow, 0 flex-shrink, auto flex-basis */ flex: 0 0 auto; } .main-content{ /* 將 flex-grow 設定為1,該元素會佔用全部可使用空間 而其他元素該屬性值為0,因此不會得到多餘的空間*/ /* 1 flex-grow, 0 flex-shrink, auto flex-basis */ flex: 1 0 auto; } footer
{ flex: 0 0 auto; }

相容性

所有的主流瀏覽器都支援 flexbox,就 IE 來說,IE9以後的版本都是支援的。