利用 CSS View Height (vh) 製作置底 Footer

Posted on  Jan 5, 2019  in  CSS  by  Amo Chen  ‐ 1 min read

製作網頁時,如果有些網頁內容較少,為了讓頁面看起來不那麼空曠,會特地將 Footer 恰恰好地排在畫面的最底端。

這時候可以設定 View Height 將網頁內容元素(element)的高度設定為瀏覽器顯示區域的高度,也就是所謂的 viewport 的高度。

例如下圖範例,我們將 #contentmin-height 屬性設定為 100vh 就會將 #content 的最小高度設定為瀏覽器可顯示區域的高度( 100 是指 100% 的意思,如果只需要 20% 的瀏覽器可顯示區域的高度,就改為 20vh ):

body {
  margin: 0;
}

#head {
  background-color: #dfdfdf;
  height: 2rem;
}

#content {
  min-height: 100vh;
  background-color: #676767;
}

#footer {
  background-color: #dfdfdf;
  height: 2rem;
}

但我們希望 Footer 恰恰好地排在顯示區域的底部,因此必須扣掉 #header#footer 的高度,如此一來 Footer 就會恰恰好地排在瀏覽器顯示區域的底部,所以我們將 100vh 改為 calc(100vh - 4rem) ,讓瀏覽器將 #content 的高度扣掉 4rem 就達成我們想要的效果囉:

body {
  margin: 0;
}

#head {
  background-color: #dfdfdf;
  height: 2rem;
}

#content {
  min-height: calc(100vh - 4rem);
  background-color: #676767;
}

#footer {
  background-color: #dfdfdf;
  height: 2rem;
}

使用 viewport height 的好處是讓我們能夠輕鬆達到響應式的設計,在不同裝置的瀏覽器內都能夠得到ㄧ致地效果。

References

https://css-tricks.com/fun-viewport-units/

對抗久坐職業傷害

研究指出每天增加 2 小時坐著的時間,會增加大腸癌、心臟疾病、肺癌的風險,也造成肩頸、腰背疼痛等常見問題。

然而對抗這些問題,卻只需要工作時定期休息跟伸展身體即可!

你想輕鬆改變現狀嗎?試試看我們的 PomodoRoll 番茄鐘吧! PomodoRoll 番茄鐘會根據你所設定的專注時間,定期建議你 1 項辦公族適用的伸展運動,幫助你打敗久坐所帶來的傷害!

贊助我們的創作

看完這篇文章了嗎? 休息一下,喝杯咖啡吧!

如果你覺得 MyApollo 有讓你獲得實用的資訊,希望能看到更多的技術分享,邀請你贊助我們一杯咖啡,讓我們有更多的動力與精力繼續提供高品質的文章,感謝你的支持!