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

  • 發佈於
  • CSS
  • 閱讀約 1 分鐘

覺得我們的內容實用嗎?MyApollo 電子報讀者募集中!歡迎訂閱電子報!

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

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

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

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

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 就達成我們想要的效果囉:

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

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/

覺得內容實用嗎?

MyApollo 電子報讀者募集中!新文章與技術新知會直接寄到你的信箱。

訂閱電子報

對抗久坐職業傷害

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

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

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

馬上試用 PomodoRoll

贊助我們的創作

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

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

Buy me a coffee

Sass / Scss 教學 1

Sass 系列教學: Sass / Scss 教學 Part 1 Sass / Scss 教學 Part 2 現今網站前端(frontend)工程師者肯定會用到的其中一…

  • CSS

Sass / Scss 教學 2

Sass 系列教學: Sass / Scss 教學 Part 1 Sass / Scss 教學 Part 2 繼上篇基本的變數介紹之後,本篇來談談 Sass 中的巢狀(…

  • CSS

前端工程師必修課 - Interneting is Hard

如果你對前端工程師有興趣,但是有沒有任何相關資訊背景,那麼 Interneting is Hard 可能是一個不錯的新手村。 Interneting is Hard 不…

輸入關鍵字開始搜尋