1. 程式人生 > >H5 佈局 -- 讓容器充滿螢幕高度或自適應剩餘高度

H5 佈局 -- 讓容器充滿螢幕高度或自適應剩餘高度

在前端頁面佈局中,經常會碰到要讓容器充滿整個螢幕高度或者剩餘螢幕高度的需求。一般這時候都會想當然的使用 height:100% 這樣的 CSS 來寫。這樣寫的話,當容器內內容很多的時候是沒有問題的,可以達到預期的效果,但是如果容器內內容比較少,不足以撐起足夠的高度的話,這個CSS 樣式實際上是沒起作用的。那要怎麼解決這個問題呢?

讓容器高度充滿這個螢幕

在容器內容很少的情況下,要想讓這個容器充滿整個螢幕可以這樣:

.container{
    min-height:100vh
}

你沒看錯,只需要這一個屬性就可以辦到,vh 是一個新的單位,表示的是螢幕的高度,還有一個對應的寬度屬性 vw,如果還不知道的可以去查下資料。這個新的單位可能有的老瀏覽器不支援(說的是誰你們都知道的)。

讓容器高度充滿剩餘螢幕高度

上面說的讓容器充滿整個螢幕是一個比較簡單的情況,實際專案中這種簡單情況是非常少的,一般碰到比較多的可能是要讓容器充滿螢幕的剩餘高度,有了上面的那個做基礎,這個需求也就簡單了,用 vh 結合 flex 佈局就可以很容器的實現。直接看程式碼:

.container{
    min-height:100vh;
    display:flex
}
.header{
    height:100px
}
.content{
    flex:1
}
.footer{
    height:100px
}

使用上面的樣式就可以讓 content 的高度自適應螢幕的剩餘高度,簡單方便。同樣可能會面臨老瀏覽器適配的問題。因為我做的專案主要是在移動端使用,所以就不管那老掉牙的傢伙了。