製作網頁時,如果有些網頁內容較少,為了讓頁面看起來不那麼空曠,會特地將 Footer 恰恰好地排在畫面的最底端。
這時候可以設定 View Height 將網頁內容元素(element)的高度設定為瀏覽器顯示區域的高度,也就是所謂的 viewport 的高度。
例如下圖範例,我們將 #content
的 min-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/